Commit Graph

1005 Commits

Author SHA1 Message Date
Robert Osfield
b165fc9b4d Cleaned up handling of vertex arrays in osg::Geometry.
Added support for vertex attribute arrays in .osg and .ive.
2003-09-09 22:18:35 +00:00
Robert Osfield
584f805327 Updates to osgFX, from Marco Jez, to map Effect across to being derived
from osg::Group rather than from osg::Node.
2003-09-09 11:54:05 +00:00
Robert Osfield
33b03f7ac3 Updated docs for release.
Added OSG_USE_DOUBLE_MARTRICES define into include/osg/Matrix to make it more
convinient to switch between single and double matrices.
2003-09-09 08:56:51 +00:00
Robert Osfield
3f042d2f1b Updated NEWS/AUTHORS + html docs for release. 2003-09-08 10:51:14 +00:00
Robert Osfield
507c9c4cf2 Fixes from Marco. 2003-09-06 11:07:05 +00:00
Robert Osfield
792bba05b9 Added new Matrixf and Matrixd implementations.
Made Matrix be a typedef to either Matrixf or Matrixd.  Defaults to Matrixf.

Converted the osgGA::MatrixManipulators and osgProducer::Viewer/OsgCameraGroup
across to using exclusively Matrixd for internal computations and passing betwen
Manipulators, Producer and SceneView. Note, SceneView still uses Matrix internally
so will depend on what is set as the default in include/osg/Matrix.

Added the ability to osgProducer::setDone/getDone(), kept done() as the
method that the viewer main loop uses for detecting the exit condition.
2003-09-05 22:35:34 +00:00
Robert Osfield
a2834d74d2 Added set and get methods for Matrixd and Matrixf. 2003-09-05 20:52:36 +00:00
Robert Osfield
5b93250eb0 Added support for Matrixd and Matrixf implementations, with the default
Matrix typedef's to either Matrixd or Matrixf.
2003-09-05 20:48:42 +00:00
Robert Osfield
f8107a39b9 Build Fixes for IRIX. 2003-09-04 08:50:06 +00:00
Robert Osfield
bd44cfcfd8 Added a Matrix::value_type typedef'd trait into osg::Matrix, defaulting its
value to float, and converted the internal code across to use value_type.  This
allows Matrix to be converted to use double's simply by change the definition
of value_type.  Added Matrix::glLoadlMatrix and Matrix::glMultMatrix() to
help encapsulate the changes between float and double matrix usage.

Updated code that uses Matrix so it doesn't assume float or double matrices.
2003-09-03 10:47:25 +00:00
Robert Osfield
9a5ab0ac47 Fixes for IRIX build. 2003-09-03 08:14:00 +00:00
Robert Osfield
4761442005 Merged changed to osgParticle from Marco Jez, the changes are (quoted from
email from Marco)

"Most relevant news:
1) particle systems now have the "freezeOnCull" property set to false by
default. Since it is an optimization, and using it may cause some unwanted
behaviors if not handled properly, it makes more sense to turn it off by
default.
2) new "LINE" shape mode which uses GL_LINES to draw line segments that
point to the direction of motion.
3) particles can now have a rotation angle and angular velocity.
4) new AngularAccelOperator applies angular acceleration to particles.
5) particle processors such as emitters and programs can have a "start",
"end" and "reset" time coordinate. For example, an emitter may be instructed
to start emitting particles only after a certain time, stop after another
amount of time and then start again.

Update (2) is from Gideon May.
Updates (3) to (5) are from Douglas A. Pouk."
2003-09-02 20:39:41 +00:00
Robert Osfield
e530912744 Made Matrix a typedef to Matrixf, and converted the old Matrix to Matrixf, as
part of prep for supporting both Matrixf (float) and Matrixd (double).

Added osg::Matrixf::glLoadMatrix() and osg::Matrixf::glMultiMatrix() methods
and changed corresponding usage of glLoad/MultMatrixf() calls across to use these
methods. Again prep for support Matrixd.

Fixes for VisualStudio 6.0 compile.
2003-09-02 17:19:18 +00:00
Robert Osfield
da6f7ebeef Fixes for IRIX build + to_unix on txp plugin files. 2003-09-02 10:27:57 +00:00
Robert Osfield
7575f45800 Support for BumpMapping added by Marco Jez. 2003-09-01 21:53:53 +00:00
Robert Osfield
73094265c3 Fixes for Win32. 2003-09-01 15:46:10 +00:00
Robert Osfield
144ac14b07 From Neil Salter, added osgSim::SphereSegment and osgSim::ScalarBar, and
osgspheresegment and osgscalarbar, and osgsimulation examples.
2003-09-01 09:36:03 +00:00
Robert Osfield
5c3a2bc683 Added s/getCullVistorLeft/Right(), s/getRenderStageLeft/Right(),
s/getRenderGraphLeft/Right() methods.
2003-08-29 23:04:42 +00:00
Robert Osfield
77c862d305 From Marco Jez, tangent space generator. 2003-08-27 14:13:12 +00:00
Robert Osfield
2910ec140d Added KeyboardMouseCallback::shutdown() support. 2003-08-27 10:22:12 +00:00
Robert Osfield
f7d7a746f3 Added missing osgFX files. 2003-08-26 22:09:15 +00:00
Robert Osfield
e07c1ea10d Added set/getDatabasePager() method. 2003-08-26 08:02:43 +00:00
Robert Osfield
4924cd9ceb Added osgProducer:: in front of KeyboardMouseCallback. 2003-08-25 14:03:49 +00:00
Robert Osfield
0ed56936ce Removed suplerfluous inline from setInitialViewMatrix(). 2003-08-25 13:31:31 +00:00
Robert Osfield
bd798a6c4e Added getInitialInverseViewMatrix() to osg::State. 2003-08-25 13:06:15 +00:00
Robert Osfield
db9b6d10c6 Add osg_ref<Producer::KeyboardMouse> to osgProducer::Viewer to ensuer that
the keyboard mousr desctructor is being called correctly.
2003-08-23 20:48:36 +00:00
Robert Osfield
12133c6db5 Made getLibrary public. 2003-08-21 19:23:24 +00:00
Robert Osfield
02561a96c7 Compile/Warnings fixes. 2003-08-21 14:26:40 +00:00
Robert Osfield
1a68dd80d7 Added explicit calls cancel and wait until thread and no longer running to the
DatabasePager and TXP pager.
2003-08-20 12:52:33 +00:00
Robert Osfield
18abc3aff7 Renamed instances of Click to Tick for consistency. 2003-08-20 12:51:40 +00:00
Robert Osfield
1c3b2b2554 Standardised the culling flags between CullingSet and CullStack, and
made ENABLE_ALL_CULLING enable all culling including the near and far plane.
DEFAULT_CULLING is now used for the default as uses the same original
values as ENABLE_ALL_CULLING once did - view frustum culling with near and
far culling. SceneView now uses DEFAULT_CULLING.
2003-08-20 12:50:54 +00:00
Robert Osfield
bca7e4e73b Added osg::setGLExtensionDisableString && osg::getGLExtensionDisableString()
functions the GLExtensions file, and made the isGLExtensionSupported() function
use the extension disable string when extension are querried.
2003-08-20 10:38:54 +00:00
Robert Osfield
e2a72f7e72 Fixed typo of getNumMatrixManipulators(). 2003-08-19 14:05:53 +00:00
Robert Osfield
0685c2a852 Added applyTexImage_subload() implemention into TextureRectangle class
to provide automatic support for texture subloading.
2003-08-18 19:36:50 +00:00
Robert Osfield
c334279935 Changed private to protected to allow Timer to be subclassed more easily. 2003-08-18 15:14:09 +00:00
Robert Osfield
ee0cce1679 Added getSecondsPerClick() method to Timer. 2003-08-18 15:12:04 +00:00
Robert Osfield
8c65920c1f Fixes for Java build. 2003-08-18 09:24:17 +00:00
Robert Osfield
4b7bde1440 Removed the deprecated NodeVisitor::getLocalToWorld/WorldToLocal methods as
this are replaced by the osg::computeLocalToWorld/WorldToLocal() functions
found in osg/Transform.

Made the ReleaseTextureAndDisplayListsVisitor a public nested class of
osgDB::DatabasePager to allow it to be used in the TXP plugin, and added
usage of this visitor to the TXP plugin to make sure that textures and
display lists are released during the update thread.
2003-08-14 00:05:34 +00:00
Robert Osfield
ef4535a2a4 Added s/getFastPathHint(). 2003-08-09 00:46:48 +00:00
Robert Osfield
a11395feec Added missing copy ops in the copy constructor.
Added computeInternalOptimziedGeometry() and associated methods to Geometry
to support alternate versions of a geometry to be used to optimize rendering,
such as flattening indexed attributes to straight attribute arrays.
2003-08-08 00:21:30 +00:00
Robert Osfield
ca3f824410 Added convience constructor. 2003-08-08 00:19:06 +00:00
Robert Osfield
8bd3e9f1b2 From Romano José Magacho da Silva, extension checking for NV_occlusion_query extension. 2003-07-23 20:53:53 +00:00
Robert Osfield
27c4dc0920 From Sean, fix for Sun windows extension checking. 2003-07-23 20:50:56 +00:00
Robert Osfield
e95768417c From Gideon May, added support for osgSim into .osg file format. 2003-07-23 14:06:32 +00:00
Robert Osfield
2ce08d8088 Warning fixes from Gideon May. 2003-07-23 11:45:37 +00:00
Robert Osfield
ee30f2e30c Added support for osg::State::s/getInitialViewMatrix();
Added slideshow3D examples to the runexamples.bat.

Fixed DatabasePager to work with the latest OpenThreads.
2003-07-22 21:03:59 +00:00
Robert Osfield
2bce4dda75 Made BlinkSequence subclass from osg::Object. 2003-07-22 12:48:31 +00:00
Robert Osfield
31115ffd2d Changed the Sector classes so they are derive from osg::Object to allow them
to be shared objects with the .osg support.
2003-07-22 10:33:56 +00:00
Robert Osfield
aa8b552ca6 From Marco, updates to osgDB and .osg plugin to better handle reading of
objects of specified types.
2003-07-21 18:36:47 +00:00
Robert Osfield
325dc0f6b7 Moved DatabasePager into from osgProducer into osgDB. This means that osgDB
is now dependant on OpenThreads.
2003-07-21 08:19:36 +00:00
Don BURNS
56a13abc05 Updated OSG to use OpenThreads. Moved any references to OpenThread to
OpenThreads and removed any dependency on Producer threads, Mutexes, etc.
2003-07-19 00:18:07 +00:00
Robert Osfield
23fc1900ce From Romano Jose Magacho da Silva, added osg:FragmentProgram.
From Robert, add .osg support for FragmentProgram.
2003-07-17 06:43:15 +00:00
Robert Osfield
2a142c096a Added setProjectionMatrix*(), setViewMatrix*() and get*() methods to osgUtil::SceneView. 2003-07-16 22:15:28 +00:00
Robert Osfield
a4b29996fd Added osg::Matrix::getOtho,getFrustum and getLookAt() methods.
Added test for new matrix methods into unit tests example, but these really
should go in their own lib...
2003-07-16 20:14:48 +00:00
Robert Osfield
a0d0803f1f Improvements to the handling of deletion of OpenGL rendering objets such as
display lists and textures object such that they can be deleted according
to an available amount of time given to do deletes.
2003-07-16 09:52:43 +00:00
Robert Osfield
82008d5ecd Updates to the flush rendering objects function calls to allow for
managment of amount of time available to do gl delete's.  This control is
required for constant frame rate applications.
2003-07-15 21:19:03 +00:00
Robert Osfield
0fd11b4abd Added extern + export's to global functions. 2003-07-15 18:52:40 +00:00
Robert Osfield
47965884e9 Moved PROGRAMOBJECT definition into StateAttribute. 2003-07-15 16:22:29 +00:00
Robert Osfield
1998bdef86 Moved osg::Statistics to osgUtil::Statistics and merged addition to it
fro Pavel Moloshtan.
2003-07-15 13:46:19 +00:00
Robert Osfield
deb26621c9 Changed the SceneView::setModelViewMatrix() methods across to being setViewMatrix().
The old RefMatrix methods for setModelViewMatrix() and setProjectMatrix() have
been removed to keep the API as minimal as possible.
2003-07-15 11:49:56 +00:00
Robert Osfield
77c0366cb2 From Mike Weiblen's osgGL2 node kit which support the latest OpenGL 2.0 extensions. 2003-07-15 10:45:46 +00:00
Robert Osfield
b2e5e09c28 From Bart Gallet, updates to VisualStudo .dsp's to keep things compiling under Windows. 2003-07-15 09:39:45 +00:00
Robert Osfield
953ac782ac From Gideon May, added
typedef T element_type;

To ref_ptr<> to make it compatible with the boost ref_ptr<> implemenations.
2003-07-15 08:17:54 +00:00
Robert Osfield
1b9d7d458a Added support for texture object manager, which provides an automatic mechansim
for reusing deleted textures.
2003-07-14 14:42:10 +00:00
Don BURNS
c60b5b6522 included <sys/types.h> for SGI compilation of Timer header file 2003-07-11 18:46:56 +00:00
Robert Osfield
606daca904 Added default constructor implemention to LOD and PagedLOD.
Added verbose messages to DatabasePager.
2003-07-10 14:53:07 +00:00
Robert Osfield
5b75d7f525 From Michael Gronger, addition of ReaderWriter* Registry::getReaderWriterForExtension(const std::string& ext).
Also removed copy constructor and = operator from Ouput as it was produce
spurious warnings under gcc 3.3.
2003-07-10 13:35:19 +00:00
Robert Osfield
9c5f84e99e From Eric Sokolosky, insertChild(). 2003-07-10 13:11:25 +00:00
Robert Osfield
c5c7a1b2ba Updates to the DatabasePager code to include support for compiling texture
objects and display lists before merging loaded subgraphs with the main
scene graph.
2003-07-10 11:10:39 +00:00
Robert Osfield
809168d5f8 Further updates to the DatabasePager. 2003-07-09 19:48:04 +00:00
Robert Osfield
5aa47a77c2 Improvements to the DatabasePager and PagedLOD class adding support for
deleting expuired children in the database thread.
2003-07-09 14:55:39 +00:00
Robert Osfield
c2eabe1d4b Added osg::PagedLOD and osgProducer::DatabasePager class, and linked up osgProducer::Viewer
to manage the pager.
2003-07-08 14:44:00 +00:00
Robert Osfield
b5442ac835 Added support for the ARB_vertex_buffer_object into osg::Geometry. 2003-06-29 21:41:57 +00:00
Robert Osfield
8d4ab4668e From Tree, updates to osgText and freetype plugin to support are kerning paramter. 2003-06-26 16:21:49 +00:00
Robert Osfield
8839cfe8cd Updated NEWS.
Added AttrData.h to flt.dsp

Removed redundent (and duplicate definition of RenderBinPrototypeList and its
associated static) from the RenderBin header.
2003-06-25 10:30:46 +00:00
Robert Osfield
d70ab592ed Additions since the CVS back up was made. 2003-06-24 21:57:13 +00:00
Don BURNS
15f88f35b2 *** empty log message *** 2003-06-24 15:40:09 +00:00
Robert Osfield
b444cc1ab3 Added support for scaling the projection in vertical and horizontal split stereo
modes.
2003-05-27 11:03:49 +00:00
Robert Osfield
4a804ebf32 Reverted recent changes so the set(Matrix&) method. 2003-05-27 11:02:45 +00:00
Robert Osfield
9ab1c960b6 Moved the GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB into its own #ifndef block
to help with OSX support.
2003-05-26 09:29:59 +00:00
Robert Osfield
7b657aed3a Adding support using istream and ostream with the reader writers. 2003-05-26 09:27:16 +00:00
Robert Osfield
efa16a34c5 Fixes to the Optimizer's handling of merging of osg::Geometry 2003-05-22 15:29:20 +00:00
Robert Osfield
fb55f6ffbc Improved the handling of scaled matrices in the Quat::set(Matrix&) method. 2003-05-21 21:32:56 +00:00
Robert Osfield
4a6bdad3e1 Removed osg::GeoSet for core osg lib and osgPlugin.
Commented out OpenDX plugin as its still based on GeoSet.

Added support for loading and converting GeoSet into the osgconv example.
2003-05-21 12:15:45 +00:00
Robert Osfield
4e9724245a Added setProjectMatrix(const Matrix&) and setModelViewMatrix(const Matrix&) methods. 2003-05-20 11:01:16 +00:00
Robert Osfield
ab1b199da8 Removed the now redundent osg::Camera. 2003-05-20 08:09:36 +00:00
Robert Osfield
00e94b86d8 Removed all KeySwitchCameraManipulator class, replacing it
with the KeySwitchMatrixManipulator
2003-05-19 20:18:37 +00:00
Robert Osfield
940ce67133 Removed remaining dependancies on osg::Camera. 2003-05-19 15:15:17 +00:00
Robert Osfield
6b64cd88b8 Removed superfluous const 2003-05-17 08:36:25 +00:00
Robert Osfield
57af40ee95 Updates to the handling of vertex attributes. 2003-05-09 13:07:06 +00:00
Robert Osfield
173a09fb32 Added UserData to NodeVisitor. 2003-05-07 15:26:08 +00:00
Robert Osfield
cda2c90315 From Romano José Magacho da Silva, support for vertex attributes in vertex program. 2003-05-07 13:13:13 +00:00
Robert Osfield
ba8bf1e94c From Eric Sokolowsky, support for mouse scroll wheel in osgGA/osgProducer. 2003-05-07 11:13:49 +00:00
Robert Osfield
fa0333b6fe Aded extra constructors to BlendFunc and Depth to help set them up convieniently.
Added a background quad to osghud.
2003-05-06 18:04:27 +00:00
Robert Osfield
06054d9520 Added support for multibuffering of tex coordinates. 2003-05-06 13:13:31 +00:00
Robert Osfield
895a722842 Addd support for maximum screen text size into osgText when auto scale to
screen is active.

Added osgautotransform demo.
2003-05-01 21:06:18 +00:00
Robert Osfield
d2d9b97953 Added set/getNearFarRatio() to CullVisitor. 2003-05-01 19:56:02 +00:00
Robert Osfield
9468ab4979 Cleanup of the API. 2003-04-30 15:38:11 +00:00
Robert Osfield
0ab467483f Added support for automatic scaling of text to screen coords. Optimized
the text implementation to provide better speed, especially by using the
alignement to screen option.

Deprecated the Text::setFontSize(,) method, which is now being replaced
by setFontResolution(,)

Fixed typos in Texture*.cpp.

Removed old deprecated methods from osg headers.
2003-04-30 11:40:17 +00:00
Robert Osfield
c1b1a091fa From Tree, addition of ; after MACRO_'s to help with Java port.
From Tree + Robert, Addition of LEFT_BASE_LINE,RIGHT_BASE_LINE,CENTER_BASE_LINE
Alignment options in Text.
2003-04-27 10:58:39 +00:00
Robert Osfield
9329717aa0 Moved #include <osg/Timer> from Viewer to OsgCameraGroup. 2003-04-17 15:27:17 +00:00
Robert Osfield
fd262554ac Moved the managing of frame stamp from osgProducer::Viewer into
osgProducer::OsgCamaraGroup.

Added setting of trackball in osgcameragroup so its starts in the
correct place for different models.
2003-04-17 11:14:25 +00:00
Robert Osfield
f759f7e69e Added OSGUTIL_EXPORT to front of DelaunayTriangulator class. 2003-04-17 06:52:56 +00:00
Robert Osfield
0b0c6c4e60 Added support for set/getColor to ShapeDrawable. 2003-04-16 20:02:15 +00:00
Robert Osfield
cad160fbe6 From Marco Jez, added DelaunayTriangulator class. 2003-04-16 19:21:27 +00:00
Robert Osfield
2e659c9ebf Renamed computeNearFar to computeNearFarPoints. 2003-04-16 14:22:36 +00:00
Robert Osfield
904aceec22 Added convinence methods to osgProducer::Viewer:
/** compute, from normalized mouse coords, for sepecified Camera, the pixel coords relative to that Camera's RenderSurface.*/
        bool computePixelCoords(float x,float y,unsigned int cameraNum,float& pixel_x,float& pixel_y);

        /** compute, from normalized mouse coords, for sepecified Camera, the near and far points in worlds coords.*/
        bool computeNearFar(float x,float y,unsigned int cameraNum,osg::Vec3& near, osg::Vec3& far);

        /** compute, from normalized mouse coords, for sepecified Camera, intersections with the scene.*/
        bool computeIntersections(float x,float y,unsigned int cameraNum,osgUtil::IntersectVisitor::HitList& hits);

        /** compute, from normalized mouse coords, for all Cameras, intersections with the scene.*/
        bool computeIntersections(float x,float y,osgUtil::IntersectVisitor::HitList& hits);
2003-04-16 14:17:49 +00:00
Robert Osfield
f9eb43083a Changed OsgSceneHandler so it re-uses osgUtil::SceneView project and modelview
matrices.

Changed the osgpick demo so that it uses the OsgSceneHandler's projection and
modelview matrices where possible.
2003-04-16 09:22:33 +00:00
Robert Osfield
fc4a2ab191 Added support for multiple cameras into osgpick. 2003-04-15 20:54:10 +00:00
Robert Osfield
63628ce099 From Romano, extra methods/variables for controlling tesselation. 2003-04-15 09:33:11 +00:00
Robert Osfield
5df7118d6d Updates to the osgpick code.
Updates to osgGA::CameraManipulors.
2003-04-14 15:44:30 +00:00
Robert Osfield
f543d69881 Improved the handling of Producer's no dimensional mouse coords. 2003-04-14 13:23:12 +00:00
Robert Osfield
3df0401007 Addd new computeLocalToWorld(NodePath) etc methods. 2003-04-14 13:22:21 +00:00
Robert Osfield
026dc2cbb7 Added Geoff Michel's osgpick and osgUtil::PickVisitor code. 2003-04-13 13:26:41 +00:00
Robert Osfield
5ecc25540c From Michael Gronager, changed apply(Sequence) to cast to an Group rather than
a Switch which was a bug.
2003-04-13 12:02:29 +00:00
Robert Osfield
50d1fcfea2 From Romano, added support in osg::VertexProgram for deleting the flushed
vertex programs.
2003-04-11 09:54:27 +00:00
Robert Osfield
aaa761e333 Added tests for presense of extensions to osgcubemap, osgvertexproram and
osgmultitexture examples.

Added osg::VertexProgram::Extensions class to better handle multiple graphics
context vertex program extensions.
2003-04-10 19:32:32 +00:00
Robert Osfield
52d2d8eaff Moved the osgcameragroup example across to being just based on
osgProducer::OsgCameraGroup with no usage of osgGA manipulators.

Removed redundent files from osgProducer.
2003-04-10 15:23:49 +00:00
Robert Osfield
8b03d59be3 Added support for modifying the osg::Texture*:Extensions stuctures.
Added an example modifying osg::Texture::Extensions to osgtext.  Optionally
compiled out by default.
2003-04-10 13:41:45 +00:00
Robert Osfield
bc4fd5b051 Added usage of Producer::CameraGroup::isValidForRendering() to the Viewer::done()
implemention so apps automatically close if one of the windows is killed.
2003-04-10 12:55:48 +00:00
Robert Osfield
22546b8085 Added support for multiple graphics context to osg::VertexProgram and osg::Impostor 2003-04-10 12:11:40 +00:00
Robert Osfield
e1e54570cb Fixed Viewer and OsgCameraGroup classes so that work properly with the
Prodicer::setViewByMatrix calls.
2003-04-10 10:02:24 +00:00
Robert Osfield
2166f9b701 Fixes to the Impostor implementation. 2003-04-09 21:53:09 +00:00
Robert Osfield
b02917e7a2 Fixed type of osg::ApplicationUsage::set/getApplictionName(), updated
demos accordingly.

Made OsgCameraGroup set the _applicationUsage to the
osg::ApplicationUsage::instance() when no ArgumentParser is supplied.

Added export to osgProducer::ViewerEventAdapter.
2003-04-09 08:20:08 +00:00
Robert Osfield
c3fd384eb1 From Romano José Magacho da Silva, added 'p' toggle to animation path
manipulator to allow animations to be paused and resumed.

Added frame rate stats which are output on each repetition of the path.
2003-04-08 20:06:37 +00:00
Robert Osfield
8a3d731739 Added support for Viewer::setViewer::setView so that the internal old
style osg::Camera and camera manipulators are updated correctly.
2003-04-08 15:47:45 +00:00
Robert Osfield
e928bca4c9 Changed the Viewer::realize() calls across to not using the threading paramter
leaving it up to the Viewer to specify the mode (which by default is MultiThreaded).
Added a check for the presence of osgParticle systems so that threading is
disabled in this case.
2003-04-08 15:18:45 +00:00
Robert Osfield
5f8411ac5c Changed the KeySwichCameraManipulator::setNode() so it set all camera's
attached to it.
2003-04-08 13:10:47 +00:00
Robert Osfield
559f5f93e5 Added an osg::absolute template function into osg/Math. 2003-04-08 09:42:03 +00:00
Robert Osfield
18ab95a294 Added support for snaping screen images from osgProducer::Viewer apps. 2003-04-07 19:19:01 +00:00
Robert Osfield
7af174fadb From Ulrich Hertlien, new osg::TextureRectangle class. 2003-04-07 13:20:53 +00:00
Robert Osfield
9f0fa75484 Added support for unref image data after apply in the osg::Texture*
classes.  Only unref's after all graphics context have been applied.
2003-04-07 12:51:00 +00:00
Robert Osfield
7e58786b11 Moved the modified tag's from osg::Texture into the osg::Texture1D,2D,3D and
CubeMap classes.
2003-04-07 09:46:06 +00:00
Robert Osfield
49a28660dc Added the usage report to the examples for when no arguments are passed
to the examples.
2003-04-06 21:32:44 +00:00
Robert Osfield
c7a7bd03cb Added support for recording animation paths in the osgProducer::Viewer. 2003-04-05 22:24:48 +00:00
Robert Osfield
cac6642de5 Improvements to the handling of warp pointer call on start up. 2003-04-05 07:19:40 +00:00
Robert Osfield
169bf25f77 Implemented support for float x and y mouse positions, and normalization of
mouse coords in osgGA::GUIEventAdapter, and ported osgGA camera manaipulators
to use the new normalized values.

Moved osgProducer across to tracking the window dimensions and ensure that the
internals values in osgProducer::EventAdapter are kept consistent.  Moved
the warp pointer in Viewer across to using KeyboardMouse::positionPointer().
2003-04-04 19:10:37 +00:00
Robert Osfield
e9e0b4304d Improved support for toggle between full screen and non fullscreen in
the osgProducer::Viewer.
2003-04-04 11:06:09 +00:00
Robert Osfield
e1e22ab430 Added GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB etc to the Texture header to
allow compilation across platforms.
2003-04-02 20:43:19 +00:00
Robert Osfield
0f3eaeba46 From Rune Schmidt Jensen - new dds loader. 2003-04-02 18:26:34 +00:00
Robert Osfield
7aab621405 Added support for min pixel size, max pixel size and max visable distance to
osgSim::LightPointNode, the max pixel size from was originally in osg::LightPoint.

Added additional get/set methods to osg::LightPointNode.

Increased the compute pixel size by a ratio 1.41 (sqrtf(2)) to correlate the
computed size with the actual size seen on screen.
2003-04-02 10:50:15 +00:00
Robert Osfield
5b36049f33 Added convinience constructor. 2003-04-01 18:42:38 +00:00
Robert Osfield
3975fc9b01 Improved handling of subloading.
Removed the rescalling of images in osg::Image during texture apply, moving
the rescale so it is locally calculated.  This solves an outstanding threading
problem which occured by multiple draw threads all tried to rescale the same
image at one time.

Made osg::Image ptr in osg::Texture2D non mutable as it is no longer modified
during apply.
2003-04-01 11:49:09 +00:00
Robert Osfield
b728b1dd99 Implemented load and subload methods in osg::Texture/Texture2D. 2003-03-31 21:41:17 +00:00
Robert Osfield
3fe1313ad9 Adding reseting of the array pointers to the dirty methods. 2003-03-31 11:25:04 +00:00
Robert Osfield
11053aaa5c Change the className() functions from non const to const to be consistent with the
osg::Object definition.
2003-03-29 22:07:03 +00:00
Robert Osfield
60e16ea044 Added Escape to the help list.
Changed the help key from '?' to 'h'
2003-03-28 10:04:58 +00:00
Robert Osfield
d8c82e17af Changed private to protected. 2003-03-27 17:20:21 +00:00
Robert Osfield
82139fae78 Fixed typo. 2003-03-27 17:18:59 +00:00
Robert Osfield
fc4fe9c625 Updates to utilise the new Producer keyboard bindings. 2003-03-27 10:54:01 +00:00
Robert Osfield
e93c812021 Improved the stats reporting. 2003-03-26 16:48:29 +00:00
Robert Osfield
8779fe20a7 Added help support for display help on screen to osgProducer::Viewer. 2003-03-26 12:50:30 +00:00
Robert Osfield
0c60d14c00 Added a ViewerEventHandler which manages full screen, file write, and help
output to osgProducer.  Removed FullSreenEventHandler as it is now superseeded
by ViewerEventHandler.
2003-03-25 15:13:20 +00:00
Robert Osfield
5e56e0eba8 Added osgkeyboard to the ./runexamples.bat.
Made osgstereoimage exit when non files have been loaded.

Added non const getText() method.
2003-03-25 13:57:16 +00:00
Robert Osfield
a03675495a Added new osgkeyboad example. 2003-03-24 21:17:51 +00:00
Robert Osfield
c2167be67b Fixed typo. 2003-03-24 15:21:52 +00:00
Robert Osfield
09acadb560 Added support for remapping of Win32 key symbols to
osgGA::GUIEventAdpater::KeySymbols.
2003-03-24 15:13:00 +00:00
Robert Osfield
19e2368991 Added osgGA::GUIEventAdapter::KeySymbol enumate list, which is a remapping
of the X settings.

Added a pass through of X11 sybmbols from Producer to osgGA::GUIEventAdapter::KeySymbol
in the osgProducer::EventAdapter.
2003-03-24 13:43:22 +00:00
Robert Osfield
6dbc770347 Made the osgGA::GUIEventHandler sublassed from osg::Object as a virtual
inheritence to allow handler to also be used as node callbacks.

Fix to UpdateVisitor to make the visitation of Drawable more consistent
with the way that nodes are traversed.
2003-03-24 08:42:35 +00:00
Robert Osfield
48868982f1 Added a traverseGeode method to the UpdateVisitor which contains the
traversal code for both the nodes traversal and the drawables the geode
contains.
2003-03-22 09:48:43 +00:00
Robert Osfield
f0eae16828 Added overide of the SceneHandler::clear() making it a no-op. Will revisit
this implemention later.
2003-03-20 17:24:25 +00:00
Robert Osfield
a3bb1da618 Added Endian test header to the core osg, and add use of the new
getCpuByteOrder test in LightPointDrawable.
2003-03-19 21:46:44 +00:00
Robert Osfield
21a74223e6 Added getCameraManipulator(unsigned int) method. 2003-03-19 21:14:50 +00:00
Robert Osfield
ca0ff266e2 First pass fix at implementing requestWarpPointer. 2003-03-19 15:49:21 +00:00
Robert Osfield
426e301c48 Addd a full screen toggle event handler to osgProducer & its viewer base
class.
2003-03-19 14:27:05 +00:00
Robert Osfield
74f8f18ad6 Added a realize callback to the OsgCameraGroup.
Move osgtexture3D across to using the new realize callback for creating its textures.
2003-03-19 12:06:29 +00:00
Robert Osfield
8ed643ca24 Chaned the OsgCameraGroup so that its scene handler list used ref_ptr<> for
robustly managing memory.
2003-03-18 20:27:09 +00:00
Don BURNS
e978c405e1 Set VERSION_RELEASE back to 3, replaced guards in include/osg/Verson to
OSG_VERSION_ with trailing underscore
2003-03-18 20:02:02 +00:00
Robert Osfield
bf184ef7a3 From Tree, added SG_EXPORT to the inner classes for Java binding work. 2003-03-18 19:42:34 +00:00
Robert Osfield
33ad8d8cb0 From Tree, ushort renamed GLushort 2003-03-18 09:29:06 +00:00
Robert Osfield
96b72af169 Implemented a object cache in osgDB::Registry. 2003-03-17 22:53:46 +00:00
Robert Osfield
e87a08f1c3 Fixes to osgcluster demo as new Producer based example.
Added extra pragrma remove a warning about float to int cast under VS.NET.
2003-03-16 21:58:27 +00:00
Robert Osfield
f811b2580e Removed osgGLUT and Demos/*.
Integrated Marco's updated examples/*/*.dsp's.
2003-03-15 20:20:46 +00:00
Robert Osfield
2ca505b3d8 Ported all glut based demos across to using the new osg::ArgumentParser. 2003-03-14 10:49:06 +00:00
Robert Osfield
2915550887 Reverted Don's changed of sqrtf to sqrt. Don't understand why the change was
required, suggest a problem elsewhere which should be fixed, *not* by modification
of Vec2.
2003-03-13 14:29:16 +00:00
Don BURNS
ec3e1dc611 Fixes for Mac OS X 2003-03-13 06:22:31 +00:00
Robert Osfield
b0dce04063 Added setBound() method to Drawable. 2003-03-11 21:53:28 +00:00
Robert Osfield
5ae998dbc2 Added missing osg:: to StateAttribute. 2003-03-11 21:42:55 +00:00
Robert Osfield
e51c7f1587 Added support for AbortRendering flag pointer in osg::State which is used
by osgUtil::RenderLeaf to test if any abort state has been set, if so it
doesn't do any further drawing.

The osgProducer::Viewer has been set up to set the osg::State's it manages
with their AbortRendering flag pointers set to the osgProducer::Viewer::_done
memeber varaible.  Now when escape is pressed the rendering is aborted early.
2003-03-11 15:25:49 +00:00
Robert Osfield
78de76f17f Bug fixes to osgText to handle the osgUtil::Optimizer being used on a scene
graph containing text.

Fixed warning in MD2 plugin.
2003-03-11 13:30:03 +00:00
Robert Osfield
06fb808ad3 Improvements to the Text .osg support. 2003-03-10 16:40:26 +00:00
Robert Osfield
ebbd03c114 Marged new getLibaryMethod added by Daniel. 2003-03-10 11:57:17 +00:00
Robert Osfield
efea365412 Moved the remain inline osg::Font methods into Font.cpp to avoid problems with the
impossibly stupid visual studio compilers.
2003-03-10 09:15:59 +00:00
Robert Osfield
a78600af67 Removed the OSGTEXT_EXPORT symbol from FontImplementation to avoid problems under
VisualStudio.
2003-03-08 09:51:41 +00:00
Robert Osfield
47087585c0 Added maximum width and maximum height limits to the osgText::Text which
automatically wraps text which goes beyond these limits.
2003-03-06 21:35:33 +00:00
Robert Osfield
152e60c61b Reverted the changes to ref_ptr<> for implicit cast to pointer. 2003-03-06 19:41:59 +00:00
Robert Osfield
fab6f24f4e Changed the osgText::Font implementation so it used a facade us abstract away
the actual implemention. This has been done so that when a freetype font is
created the implementation can unloaded when the freetype plugin is unloaded
without breaking the main font.

Also add image margin around founds to prevent any image boundaries appearing.
2003-03-06 17:11:24 +00:00
Robert Osfield
0d9aaa5ca6 Reverted the ref_ptr<> implementation to prior implicit cast operator via
commenting out// #define AUTOMATIC_CAST_TO_POINTER.
2003-03-06 13:45:20 +00:00
Robert Osfield
b70c80ba39 Add #ifndef's around the comparison operator's against const T* now that the
implicit cast operator has been added.
2003-03-06 10:38:31 +00:00
Robert Osfield
63df52d408 Added osgText::String implementation to better handle decoding of encoded text. 2003-03-05 21:05:37 +00:00
Robert Osfield
f9d8f3fa9d Added implicit cast to T* to ref_ptr<>. 2003-03-05 21:04:11 +00:00
Robert Osfield
5e396d40e1 Made the State::setInterleavedArrays method use a const GLvoid*. 2003-03-05 21:02:37 +00:00
Robert Osfield
7b6eaa72f2 Updates to Text for Sun Forte compilers. 2003-03-05 09:08:11 +00:00
Robert Osfield
ba9fbd371f Updates to the new osgtext example and fix to the friend usage. 2003-03-04 17:14:42 +00:00
Robert Osfield
55c25a551b Added support for using the generate mip map extension within osgText. 2003-03-04 15:47:28 +00:00
Robert Osfield
1c34c0981e Further improvements to osgText and the freetype plugin, handling different
font sizes better and plugin removal safely.
2003-03-04 12:34:42 +00:00
Robert Osfield
e433b42bc0 Updates osghud demo.
Compile fixes for VisualStudio6.0 because its a hideous pile of junk and can't
compile its way out of a paper bag.
2003-03-03 22:18:33 +00:00
Robert Osfield
99e7c50d7a Typo fix. 2003-03-03 20:24:49 +00:00
Robert Osfield
5d84c10c8f Changed the ownership of Glyph's so that GlyphTexture's own a reference to
Glyph's as well as Font's so keeping the Font valid even after the Font
itself has been desctructed.
2003-03-03 16:12:00 +00:00
Robert Osfield
371d84683f Fixes to osgText for default parameter. 2003-03-03 15:36:52 +00:00
Robert Osfield
e2b95c50a4 Added support for computing bounds of text. 2003-03-03 09:37:02 +00:00
Robert Osfield
fbe674b321 First cut of new osgText implementation. 2003-03-02 21:05:05 +00:00
Robert Osfield
2f74b2cf7c Renamed osgProducer::CameraGroup and SceneHandler to OsgCameraGroup and
OsgSceneHandler to avoid the namespace bug under VS6.

Removed the osgproducer demo (its now been replaced by examples/osgviewer.)
2003-02-25 12:28:16 +00:00
Robert Osfield
b32c8c65f3 Added osg::Image::AllocationMode enum and associated set/get methods.
osg::Image::setImage has also been modified to require the AllocationMode
mode to be passed to it so that it knows how to delete the data once the
image goes out of scope.

Port the image plugins across to specify the new AllocationMode, and converted
them across to using new/delete in place of malloc/free.
2003-02-25 11:56:18 +00:00
Robert Osfield
7877c55770 Implemented an osg::minimum and osg::maximum template functions to replace
the std::min/max functions previously used in parts of the osg, since the
std::min/max methods do not seem implemented under IRIX.
2003-02-24 12:02:00 +00:00
Robert Osfield
372ca1d227 Ported osgstereoimage to use osgProducer, added it to the examples directory.
Added a osgProducer::CameraGroup::getSceneHanderList() methods.
2003-02-23 17:01:05 +00:00
Robert Osfield
5471ada6da Fixes to try and keep OSX and Win32 compiling with the new usage of std::max. 2003-02-23 15:50:57 +00:00
Robert Osfield
3b429134cb Added examples directory, a place for all new OSG demo code.
Added osgcameragroup, osgviewer, osgtext, osgconv to the new examples directory.
2003-02-21 14:05:39 +00:00
Robert Osfield
0d3f78350a Added keyboard mouse binding usage to the osg::ApplicationUsage and
osgGA::GUIEventHandler and its subclasses.
2003-02-19 10:43:02 +00:00
Robert Osfield
73f741d16f Completed first pass at providing commandline option usage via the new
osg::ArgumentPareser and osg::ApplicationUsage classes. The osgproducer
demo has been implemented using these new mechansims.
2003-02-18 21:58:40 +00:00
Robert Osfield
c10d5f2d6f Added new osg::ApplicationUsage and osg::ArgumentParser to help streamline
application/example developement.
2003-02-18 16:36:42 +00:00
Robert Osfield
6184ecba3f Removed non implemented method convertWideString(const char* text) from header 2003-02-18 14:00:31 +00:00
Robert Osfield
44f88715ae MOre work on uint -> unsigned int. 2003-02-14 19:47:59 +00:00
Robert Osfield
77fee92d71 Renamed futher uint/ushort instances. 2003-02-14 16:52:47 +00:00
Robert Osfield
bd506b53da Removed last of the uint references. 2003-02-14 11:41:52 +00:00
Robert Osfield
8f1ba9d21b Removed include/osg/Types header defining osg::ubyte, osg::ushort etc. Changed
any reference to these in the distribution across to using unsigned char,
unsigned short etc.  This has been done to keep the OSG code more opaque
to what types are.
2003-02-12 19:20:47 +00:00
Robert Osfield
1b08b02df2 From Tree, added support for using wchar_t strings with osg::Text/EncodedText. 2003-02-10 15:01:27 +00:00
Robert Osfield
c2b4a05825 Minor fixes to ReaderWriter and Paragraph to help work with use of Doxygen.
Fix to CullVisior to handle the new no referenced counted cull and draw traversal.
2003-02-10 13:58:39 +00:00
Robert Osfield
4c4735a586 Added FrameStats support into osgProducer lib, and removed them from the
osgproducer demo.

Removed the producer config files osgproducer demo.

Added a search the osgDB::DataFilePath for the producer config file.
2003-01-30 23:02:32 +00:00
Robert Osfield
03eee3b700 Fixed warning in osgText
Added getBound() to begining of osgProducer::CameraGroup::frame() to ensure
that the parallel cull traversals don't all do a getBound().

Added osgProducer::CameraGroup::getTopMostSceneData() convinience method.
2003-01-30 16:11:39 +00:00
Robert Osfield
6c4f2f5207 Fixes for multipipe support.
Addition of FrameStatsHandler to osgproducer demo to add frame stats.
2003-01-29 17:16:26 +00:00
Robert Osfield
0d4e969746 Added support for osg::Transform::asMatrixTransform, asPositionAttitudeTransform
and as DOFTransform.
2003-01-24 09:37:56 +00:00
Robert Osfield
1ce53fcfba Changed the setUpViewer so it takes unisigned int to make it easier to
do OR'ing of the various enumerates when passing in paramters (avoids a
warning).
2003-01-24 09:37:11 +00:00
Robert Osfield
20ba1a4033 Fix for impostors bug where image insert were visible, this was down to a double
call to RenderStage::drawPreRenderStage().  The call to it in RenderStage inside
the draw() method has been removed, leaving on the call in SceneView.
2003-01-24 09:11:05 +00:00
Robert Osfield
ea35796526 From Daniel Sjölie, support for controlling which viewports are focusable i.e.
recive mouse/keyboard events.
2003-01-22 15:44:22 +00:00
Robert Osfield
6fd27a4b59 Clean up to the osgProducer lib and demo. 2003-01-22 15:30:17 +00:00
Robert Osfield
329a8a1656 Fixed an Optimizer crash where if the top most node of a model was
a static transform it would crash when this root was deleted.  Have fixed
by recognising this node as one not to remove and set it to identity instead.
2003-01-22 12:06:22 +00:00
Robert Osfield
48bda9cc79 Added new Copyright/License notice to header and source files. 2003-01-21 16:45:36 +00:00
Robert Osfield
128be070ba Added new osgProducer::Viewer class for putting together simple producer
based viewers very quickly.
2003-01-21 13:14:29 +00:00
Robert Osfield
0f69a4c3ae Made the drawable::compile(State&) method const and the DisplayListVisitor to
compile even when dislay list is off.  This has been done to allow subclasses
of Drawable handle their own compile implementation, such as used by text.
2003-01-20 20:40:06 +00:00
Robert Osfield
dc83e399a9 Improvements to osgProducer lib, in particular adding a mutex lock to the init() call in
SceneView to prevent init running multi-threaded.
2003-01-20 20:33:50 +00:00
Robert Osfield
4de63e72c6 Improvements to the handling of multiple graphics contexts. Still needs alot
of work, but at least it isn't crashes in trivial cases right now.
2003-01-20 20:28:28 +00:00
Robert Osfield
e56872aa1f Added the new standard copyright notice. 2003-01-20 12:41:15 +00:00
Robert Osfield
08456ecf70 Added osg::State::dirtyAllModes() and dirtyAllAttributes() methods. 2003-01-19 15:28:08 +00:00
Robert Osfield
762db56a40 Improvements to the osgProducer lib to better handle Producer's normalized
coord system.

Addition of ReadCameraConfigFile and WriteCameraConfigFile as a tempory
measure for implementing local a C++ read/write of the Producer::CameraConfig, this
will be removed once these implementations or similar have been moved to Producer.
2003-01-18 22:07:59 +00:00
Robert Osfield
13aa469628 Updated the KeyboardMouseCallback so this it takes into account the the new
passiveMouseMotion support in Producer.
2003-01-18 10:17:28 +00:00
Robert Osfield
619862f8d6 Added osgProducer library to the distribution.
Cleaned up the osgproducer demo, and made it work with the new osgProducer lib.
2003-01-17 18:34:35 +00:00
Robert Osfield
a86d519a89 Fixed a bug on the handling of empty EncodedText. 2003-01-17 15:01:27 +00:00
Robert Osfield
c2c38955c6 Added new getCurrentCamaeraManipulator(), and removed and debugging message. 2003-01-17 14:12:25 +00:00
Robert Osfield
c406d2476f Removed the osg::Referenced::createCount() and deleteCount() methods and
associated variables which were only compiled in on debug build.  These optional
methods/static vars were causingproblems when mixing debug and release builds.
2003-01-17 14:11:34 +00:00
Robert Osfield
1c602035ef Added DOUBLECLICK EventType to GUIEventAdapter. 2003-01-16 19:27:30 +00:00
Robert Osfield
4dd273de70 Added support for ReferenceFrame into osg::LightSource, modified the .osg
plugin and cull visitor to account for this change.
2003-01-16 16:37:24 +00:00
Robert Osfield
e0074d7c44 Made the osgDB::ParamterOutput class so that it is purely defined in terms
of the header, and therefore not requiring to be exported.

Updated the MUSE_READ_ME.txt to include mention of syntax highlighting.
2003-01-15 20:50:12 +00:00
Robert Osfield
d542a2165d Removed the template versions of the PrimitiveSet constructors as this was
causing problem under VisualStudio6.0.
2003-01-15 11:29:30 +00:00
Robert Osfield
af6a6ff9f0 Fixes for Win32 build. 2003-01-14 16:39:41 +00:00
Robert Osfield
59969be08d From Daniel Sjölie, updates to the GUIEventAdapter and GLUTEventAdapter to handle
key and key down, modifiers and funcion keys.
2003-01-14 14:25:56 +00:00
Robert Osfield
c882283b5d Typo fix if USE_HOME_POSITION. 2003-01-13 20:14:23 +00:00
Robert Osfield
c3a7ce7352 Fixes to osgText to handle std::string correctly. 2003-01-13 14:05:08 +00:00
Robert Osfield
ef7d7fce2e Moved some in inline methods in ParamterOutput into the new ParamterOutput.cpp
file to clean up the interface.
2003-01-11 12:50:39 +00:00
Robert Osfield
f36bc69c58 Made the more of the OSG's referenced object desctructors protected to ensure
that they arn't created on the stack inappropriately.

Split the implemention of Matrix up so that it is a simple no referenced counted
class and can be safefly created on the stack.  To support referenced counting a
seperate subclass now exists, this is RefMatrix which inherits from both Matrix and
Object.
2003-01-10 09:25:42 +00:00