Commit Graph

190 Commits

Author SHA1 Message Date
Robert Osfield
a1caa14a61 Added osgsimplifier example. 2004-04-18 16:15:49 +00:00
Robert Osfield
c80de01fd7 Further work on the new osgUtil::Simplifier. 2004-04-12 21:29:31 +00:00
Robert Osfield
51c8655630 Added beginning of new osgUtil::Simplifier 2004-04-08 11:27:01 +00:00
Robert Osfield
b73d3c3e7f Fixed typo in inline docs on the default value of the clear stencil value 2004-02-19 10:10:25 +00:00
Robert Osfield
5fa64ba416 Made getViewport(...) const. 2004-02-10 12:36:17 +00:00
Robert Osfield
b4774099d6 Fixed the clampProjectionMatrix method so it doesn't modify the input
znar and zfar, by avoid the use of float/double&.
2004-01-29 20:14:20 +00:00
Robert Osfield
39d7afaed2 Added support for CullVisitor::clampProjectionMatrixCallback 2004-01-28 10:49:23 +00:00
Robert Osfield
d4cfaae406 Fixed typo's of ImpostorSprite 2004-01-13 09:47:50 +00:00
Robert Osfield
f230f5a132 Added support into osgProducer::Viewer for flushing and compiling GL objects
via a Producer post swap callback.
2004-01-05 13:40:36 +00:00
Robert Osfield
401c3ec45d From Geof Michel, addition of TESSELATE_GEOMETRY pass. 2003-12-27 22:17:25 +00:00
Robert Osfield
fdd5a72115 Added extra clampProjectionMatrix methods to handle both Matrixd and Matrixf
pathways.
2003-12-21 13:11:36 +00:00
Robert Osfield
1158e4605d Added support for updating the SceneView projection matrix from the values
of near and far computed during the cull traversal.
2003-12-15 23:23:45 +00:00
Robert Osfield
7e012ccfc4 Renamed PermissableOptions to setPermissableOptimizations. 2003-12-11 23:33:27 +00:00
Robert Osfield
1881610a35 Added support for controlling what optimization operations can be applied
to specific nodes in the scene graph.  Typical use would be tagging a
node so that it can't be optimized away in say a flatten static transform
pass.  Added methods to Optimizer are:

        inline void setPermissableOptionsForObject(const osg::Object* object, unsigned int options)
        {
            _permissableOptionsMap[object] = options;
        }

        inline unsigned int getPermissableOptionsForObject(const osg::Object* object) const
        {
            PermissableOptionsMap::const_iterator itr = _permissableOptionsMap.find(object);
            if (itr!=_permissableOptionsMap.end()) return itr->second;
            else return 0xffffffff;
        }

        inline bool isOperationPermissableForObject(const osg::Object* object,unsigned int option) const
        {
            return (option & getPermissableOptionsForObject(object))!=0;
        }
2003-12-11 23:26:22 +00:00
Robert Osfield
5295d68fd3 Added _maximumNumberOfActiveOccluders variable to CollectOccludersVisitor(), to
limit the maximum number of occluders used in the cull traversal, default is
now 10.

Added set/getCollectOccluderVisitor() method into SceneView to allow control
of the the settings of the CollectOccluderVisitor.
2003-12-11 16:46:45 +00:00
Robert Osfield
83bf813e58 Moved the responsibility for finding file to load on to the ReaderWriter plugins,
instead of osgDB::Registry where it original lay.  This has been done to allow
fileName strings to be encode data rather than just file names, such as one
requires when using PagedLOD along with plugins for doing dynamic tesselation.
2003-12-08 11:24:43 +00:00
Robert Osfield
75174c1be1 Changed the minium tri strip length to 2 rather than 0. 2003-12-05 22:42:02 +00:00
Robert Osfield
3f14b9a653 Added code for combining adjacent static MatrixTransforms 2003-12-05 14:39:32 +00:00
Robert Osfield
db66abd6d6 Implemented duplicate removal code into TriStripVisitor and added an
extra pass to doing tri stripping in the osgUtil::Optimzer.

Added validity checks into osg::TexEnvCombine to catch eronous enumarant values.

Improved the efficient of CullingSet's handling of new transforms.

Added a copy shared subgraphs and subdivision code into osgUtil::Optimizer.
2003-12-03 21:45:32 +00:00
Robert Osfield
3c9d1e0603 Added a spatializer into osgUtil to create a balanced quad/oct tree. 2003-12-01 10:28:23 +00:00
Robert Osfield
091151e4ce Warning fix from Romano 2003-11-26 16:43:28 +00:00
Robert Osfield
845adb8745 Reorganised posstion of getViewMatrix*() methods. 2003-11-25 10:55:37 +00:00
Robert Osfield
bddd49c86a Changed the credit from NVidia's NvTriStrip to Tanguy Faure's traingulation code. 2003-11-14 09:25:17 +00:00
Robert Osfield
bc7622149d Updated to slideshow3D to support animation + pausing of animation.
Updated associated osg/osgUtil classes that provide animation pausing.
2003-11-03 23:13:31 +00:00
Robert Osfield
594f25b5d1 Added SceneView::s/getDrawBufferValue(GLenum) to allow customization of what
glDrawBuffer() value is set on each frame.
2003-10-17 10:25:59 +00:00
Robert Osfield
4700b8902c Introduced new DisplaySettings::set/getDisplayType() and environemtal variables
to and command line arguments to set it.

Added support for using the DisplaySettings::getDisplayType() to detect use
of a Head Mounted Display when doing stereo so that the asymtric frustum can
be switched off.
2003-10-01 15:56:52 +00:00
Robert Osfield
7d69f8e193 Added getPerspective() method to Matrix* and SceneView 2003-09-29 13:14:34 +00:00
Robert Osfield
243b288d87 Made the calling of drawable update callbacks always happen when a geode
is traversed in the update traversal.
2003-09-24 18:53:47 +00:00
Robert Osfield
2812c50329 Improved the Geometry::verifyBinding() and computeCorrectBindingsAndArraySizes()
methods to check all atributes and to report warnigns when errors are detected.

Added a CheckGeomtryVisitor to osgUtil::Optimizer to detect eroneous Geometry
before rendering.
2003-09-24 15:54:22 +00:00
Robert Osfield
c342b29a04 Warning fixes for Win32. 2003-09-16 19:56:19 +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
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
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
8c65920c1f Fixes for Java build. 2003-08-18 09:24:17 +00:00
Robert Osfield
2a142c096a Added setProjectionMatrix*(), setViewMatrix*() and get*() methods to osgUtil::SceneView. 2003-07-16 22:15:28 +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
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
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
efa16a34c5 Fixes to the Optimizer's handling of merging of osg::Geometry 2003-05-22 15:29:20 +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
940ce67133 Removed remaining dependancies on osg::Camera. 2003-05-19 15:15:17 +00:00
Robert Osfield
d2d9b97953 Added set/getNearFarRatio() to CullVisitor. 2003-05-01 19:56:02 +00:00
Robert Osfield
f759f7e69e Added OSGUTIL_EXPORT to front of DelaunayTriangulator class. 2003-04-17 06:52:56 +00:00
Robert Osfield
cad160fbe6 From Marco Jez, added DelaunayTriangulator class. 2003-04-16 19:21:27 +00:00