Commit Graph

2548 Commits

Author SHA1 Message Date
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
8f41f8a149 Added environmental variable for setting the height of the drive manipulator. 2003-12-10 16:50:26 +00:00
Robert Osfield
5011d994e8 Added a special AvailablerReaderWriterIterator class to handle the task
of iterating through the list of available reader writer, whilst handling
cases where the list itself changes size during iteration through the list.
Previous size changes during iteration was cause invalid iterators, which
in turn was causing a crash.
2003-12-10 15:24:14 +00:00
Robert Osfield
cfb14b7490 Added proper handling of unhandled file return type. 2003-12-10 15:22:05 +00:00
Robert Osfield
af482998b9 Improved the management of errors reported from ReaderWriters, and cleaned
up the reporting of errors in DynamicLibrary.
2003-12-10 11:40:58 +00:00
Robert Osfield
eb57ab5cda Added support for using DrawArrays when indices are in ascending order, and
increment 1 at a time.
2003-12-10 10:49:16 +00:00
Robert Osfield
a25e14b42f Improvements to the TriStripVisitor such that it now groups 4 point tri strips
together as quads.
2003-12-09 22:29:56 +00:00
Robert Osfield
9780a7cbd6 Removed osg::Transform::ComputeTransformCallback from osg::Transform.
Updated various dependant files to reimplemt callbacks as Transform subclasses.
2003-12-09 14:07:44 +00:00
Robert Osfield
d76cef6f8e Added support for new PagedLOD Radius and NumChildrenThatCannorBeExpired variables
to .osg and .ive support.
2003-12-09 14:06:48 +00:00
Robert Osfield
f46cbe60dc Added new example osgphotoalbum. 2003-12-09 12:11:21 +00:00
Robert Osfield
5ad968b049 Reverted back to non exception based JPEG plugin. 2003-12-09 12:09:36 +00:00
Robert Osfield
1baffa3a77 Addition of the following methods:
/** Set the object-space reference radius of the volume enclosed by the PagedLOD.
          * Used to detmine the bounding sphere of the PagedLOD in the absense of any children.*/
        inline void setRadius(float radius) { _radius = radius; }

        /** Get the object-space radius of the volume enclosed by the PagedLOD.*/
        inline float getRadius() const { return _radius; }


        /** Set the number of children that the PagedLOD must keep around, even if thay are older than their expiry time.*/
        inline void setNumChildrenThatCannotBeExpired(unsigned int num) { _numChildrenThatCannotBeExpired = num; }

        /** Get the number of children that the PagedLOD must keep around, even if thay are older than their expiry time.*/
        unsigned int getNumChildrenThatCannotBeExpired() const { return _numChildrenThatCannotBeExpired; }
2003-12-09 12:08:27 +00:00
Robert Osfield
f5a79aec4e Added get() method to ReaderWriterProxy class to allow the readerwriter to
be obtained once its constructed.
2003-12-09 12:07:41 +00:00
Robert Osfield
6d5eb79804 Addition of Mode mode=MODULATE constructor. 2003-12-09 12:05:50 +00:00
Robert Osfield
bbde1b2ae7 Fixes for optional compile of GL_LUMINANCE_ALPHA and GL_ALPHA texture usage
in fonts.  Default to GL_ALPHA.
2003-12-09 12:04:14 +00:00
Robert Osfield
4c3f6004df Moved osgText across to create GL_ALPHA textures instead of GL_LUMINANCE_ALPHA 2003-12-09 11:31:33 +00:00
Robert Osfield
393f1580c8 From Pavel Moloshtan, extension support for ARB_occlusion_querry 2003-12-09 11:20:44 +00:00
Robert Osfield
77fce7f6f6 From Mike Wieblen, tweak to GL2 shader 2003-12-09 11:19:52 +00:00
Robert Osfield
58c872c662 From Tree, tweaks to the coord generation to improve text alignment. 2003-12-09 10:42:30 +00:00
Robert Osfield
1f219f5a7e From Johan Nouvel, support for AnimationPathCallback values in .osg file.
Includes a small modication to ensure that code works shared animation paths, by RO.
2003-12-09 10:38:59 +00:00
Robert Osfield
e6d3af7a46 From Eric Sokolosky, OSX uses DYLD_LIBRARY_PATH for initial library search path
instead of LD_LIBRARY_PATH.
2003-12-09 09:25:53 +00:00
Robert Osfield
b0a4e917c8 Aded FileUtils include. 2003-12-09 09:03:14 +00:00
Robert Osfield
0034d026d2 Added commented out lines for setting orange blue anaglyphic stereo. The
analgyphic block really needs to have the color mask set up optionally, this
is something to configure in the future.
2003-12-08 19:25:08 +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
3e7fadb2ec Added check against null being passed into std::string constructor. 2003-12-07 20:58:46 +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
1046c73731 Fixes for Win32 build. 2003-12-05 14:39:09 +00:00
Robert Osfield
8794f1bb76 Fixes for Windows build. 2003-12-05 13:58:27 +00:00
Robert Osfield
73c5896432 Removed DOFTransform. 2003-12-05 13:26:47 +00:00
Robert Osfield
4b63fde145 Added a cast (Array*) to get round VS.NET compiler error. 2003-12-05 09:22:03 +00:00
Robert Osfield
9c2f01fd61 Added support for expanding index'd attributes from within
osgUtil:TriStripVisitor.
2003-12-04 17:14:06 +00:00
Robert Osfield
f9fcffd9cd Added optional TraversalMask paramter to computeIntersections() methods. 2003-12-04 09:43:34 +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
cdb6f9a1df Made removedExpiredChildren() virtual. 2003-12-03 21:28:42 +00:00
Robert Osfield
eed6b77ca4 Suggestion from Tree, changed tex coord scaling against textureWidth/Height rather
than textureWidth-1 etc.
2003-12-02 21:38:52 +00:00
Robert Osfield
a66d6becfa From Rune, Added catch for erroneous size specification in .dds file. 2003-12-02 21:38:01 +00:00
Robert Osfield
bd4a1cd601 From Pavel Moloshton, addition of AlphaFunc support to .ive. 2003-12-01 14:31:56 +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
532d9a38bf From Ruben,
>Fixed: The iv loader that uses Inventor library has a little bug, if used with
>osgconv, it doesn't write the images to the converted file because it's
>not setting the osg::Image->setFilename()
2003-11-28 22:39:15 +00:00
Robert Osfield
848e21fb98 From Geoff Michel, updates to GEO plugin. 2003-11-28 14:37:46 +00:00
Robert Osfield
1c2ef7d508 Updates to osgdem. 2003-11-28 14:26:51 +00:00
Robert Osfield
4f71f1becd From Qing Shen, addition of computeIntsect methods which take a
node pointer to intersect with rather than assume the viewer's scene pointer.
2003-11-28 13:41:10 +00:00
Robert Osfield
fd2a735be8 From Rune Schmidt Jensen, support for osgSim::VisibilityGroup in the .ive loader
and support for node masks.
2003-11-27 22:53:40 +00:00
Robert Osfield
f2da687d0f Standardised the tabbing so that 4 spaces are used instead of hardware tabs. 2003-11-27 22:06:11 +00:00
Robert Osfield
2353d55697 From Michael Gronager, osgSim::VisibilityGroup 2003-11-27 16:23:07 +00:00
Robert Osfield
e7f9a51f0f Updates to osgdem + BoundingBox to support graph iterators 2003-11-27 15:13:55 +00:00
Robert Osfield
dd44734635 From Nikolaus Hanekamp, Fixes to lightpoint code 2003-11-27 13:31:16 +00:00
Robert Osfield
d41a3de37c From Trajce Nikolov:
> There are databases that contain both Matrix and GeneralMatrix records as
> ancillary records. If this happens, this fix will only use one matrix to
> create osg::TransformMatrix node.
2003-11-27 13:25:52 +00:00