Commit Graph

660 Commits

Author SHA1 Message Date
Robert Osfield
358b96e953 Added osgUtil::IntersectorGroup to handle groups of osgUtil::Intersectors 2006-10-27 15:11:17 +00:00
Robert Osfield
ce3929fd5f Added beginings of new osgUtil::IntersectionVisitor and osgintersection class 2006-10-26 16:03:17 +00:00
Robert Osfield
2f5b7c2e6a Added workaround for NVidia driver bug into SceneView::init() to prevent the extensions
string being initialized within a display list.
2006-10-06 06:58:04 +00:00
Robert Osfield
490fc96ea6 From John Aughey, "Attached is the Optimizer.cpp file that has the fix to duplicate vertex and normal arrays if there is more than one reference to the data. This fixes the problem where the transforms are applied to the same vertex array multiple times if that vertex array is re-used within the model. " 2006-10-03 20:20:23 +00:00
Robert Osfield
f97759405a From Farshid Lashkari, "Here is the patch we discussed previously about adding a flag to
CullSettings which allows CameraNode to inherit the clear color."
2006-10-02 14:11:40 +00:00
Robert Osfield
4b7fb8f17d From Farshid Lashkari, "I made a small modification to the CullVisitor class so that it uses
the inheritance mask of CameraNodes with respect to the compute
near/far mode."
2006-09-21 10:38:06 +00:00
Robert Osfield
def74d3471 Introduced new osg::View, and osg::RenderInfo classes into the core OSG to help
handle scenes with multiple views with elements that need coordinating on a per view basis.

Added beginings of new osgText::FadeText class (not functionality yet).
2006-09-18 20:54:48 +00:00
Robert Osfield
63907dbbaf From Bryan Thrall, fix to Optimizer::MergeGeometryVisitor so that it checks
the permissable operation status on Drawables.
2006-09-08 20:08:01 +00:00
Robert Osfield
daa54a3b09 From Farshid Lashkari,
"I've made some changes to osg which I think make it easier to control
the render order of CameraNode's. Instead of using the built-in orders
(PRE_RENDER, POST_RENDER, NESTED_RENDER), you can specify an integer
order. Values less than zero are pre rendered in order. Values greater
than zero are post rendered in order. And a value of 0 is equivalent
to NESTED_RENDER.

The changes should be fully backward compatible. Also, I changed the
RenderStageList type from a vector to a list because I needed to be
able to insert values anywhere in the list.

The reason I made these changes was because I wanted to be able to set
the render order of a CameraNode at runtime without having to reorder
it in the scenegraph."

and later in the final submission message (relating to what has been finally been merged)    :

"I've rethought my implementation and came up with something a little
better. The setRenderOrder will continue to take an enum, but will
have an optional orderNum parameter which can be both positive and
negative. I think this method is more intuitive and flexible."
2006-09-04 13:15:08 +00:00
Robert Osfield
87a221445e Updated version numbers of the up comming 1.2 release 2006-08-31 20:54:28 +00:00
Robert Osfield
d92fdafd53 Fixed TextureAtlasVisitor bug where repeating textures were incorrectly assigned as non repeating. 2006-08-31 15:39:23 +00:00
Robert Osfield
dcf19c92fd Added support for CameraNode's PostDrawCallback. 2006-08-31 10:08:05 +00:00
Robert Osfield
102215afb5 To TextureAtlasBuilder add copying of border pixels into margins to help improve quality of lower mipmap levels. 2006-08-30 16:33:30 +00:00
Robert Osfield
e789ae6f54 In TextureAtlasVisitor code added catch for textures that have some geometry with texcoords within 0 to 1.0, but
others others out of the 0 to 1 range, these textures are automatically rejected from consideration for adding to a texture atlas.
2006-08-30 09:32:05 +00:00
Robert Osfield
25bf4a6626 To the TextureAtlasBuilder added detection of instance where a single drawable
has multiple textures on the same texture unit inherited down to it from above.
2006-08-29 15:05:05 +00:00
Don BURNS
f74d3af391 Fixed a crash in removeInternalTriangles() for models without normals. 2006-08-29 00:10:43 +00:00
Robert Osfield
66f40a1670 Added env var docs 2006-08-28 19:05:40 +00:00
Robert Osfield
70470bc84a From Roger James, "I have been going through my modified osg files and came across this fix to the Tesselator. From memory it handles a problem with per primitive normal binding. I must have forgotten to submit it." 2006-08-28 19:01:03 +00:00
Robert Osfield
19f3d975dd Futher work on TextureAtlasBuilder/Visitor, now functioning enough to deploy on real models. 2006-08-28 15:46:02 +00:00
Robert Osfield
ee7f3fa375 Further work on TextureAlasBuilder and TextureAtlasVisitor. 2006-08-28 10:46:39 +00:00
Robert Osfield
9f6be131a4 Further work of TextureAtlasBuilder 2006-08-26 21:38:22 +00:00
Robert Osfield
f86c824275 Further work on new TextureAtlasBuilder. 2006-08-25 16:30:23 +00:00
Robert Osfield
1f8c4874f6 Checking in first cut of new osgUtil::Optimizer::TextureAtlasBuilder class
for building texture atlas for sets of images or textures.
2006-08-25 15:53:16 +00:00
Robert Osfield
a16568254c Moved reset to 0 of _createReuseMatrixIndex from CullVistor.cpp to CullStack.cpp so that
CullStack::reset works correctly for all subclasses - fixing a memory consumption issue with occluders
2006-08-12 18:19:43 +00:00
Robert Osfield
132f9ead45 Updated version number for 1.1.1 release 2006-08-12 08:29:16 +00:00
Robert Osfield
d1fe85caf6 Fixed pbuffer usage cross multiple graphics contexts 2006-08-11 11:05:09 +00:00
Robert Osfield
174e3b3dc3 Fixed RenderToTexture bug which occured when the viewport dimensions where
different than the texture being written to.
2006-08-03 15:57:39 +00:00
Robert Osfield
0af758716a For cases where the RenderBin has its own StateSet do a popAllStateSets()
to ensure that the state is completely ready for the RenderBin's StateSet to be at the bottom.
2006-07-19 20:56:24 +00:00
Robert Osfield
4591c68d95 Fixed error in enum, completely perplexed how the error got in... 2006-07-19 19:45:32 +00:00
Robert Osfield
dfbc9d0441 Moved the moveToRootStateGraph(,) from RenderStage::drawImplemenation() to RenderBin::drawImplementation(); 2006-07-18 20:17:31 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
9790d15f30 Reduced the verbosity of debug info. 2006-07-18 13:04:57 +00:00
Robert Osfield
f2d50d943b Updated wrappers 2006-07-18 11:42:27 +00:00
Robert Osfield
a74801a0ee Added Optimizer::FlattenBillboardsVisitor. 2006-07-18 11:03:46 +00:00
Robert Osfield
524417f981 Removed debug info 2006-07-14 11:29:41 +00:00
Robert Osfield
e835ea5328 Speeded up merge geometry 2006-07-14 11:04:24 +00:00
Robert Osfield
47c7c43c64 Optimized the MERGE_GEODES pass 2006-07-13 20:42:10 +00:00
Robert Osfield
dd32e6425e Added StatsVisitor to include/osg/Statistics, and usage of it in osgUtil::Optimizer.
Added --optimize <string> option to osgconv
2006-07-13 15:25:22 +00:00
Robert Osfield
dd6a33da49 Removed StateSet::ENCLOSE_RENDERBIN_DETAILS since it is rendendent, and
implemented the OVERRIDE_RENDERBIN_DETAILS.
2006-07-11 21:53:57 +00:00
Robert Osfield
88609a5eee Updated version numbers for 1.1 release 2006-07-06 10:28:12 +00:00
Robert Osfield
30265ac0b3 Added support for RenderBin's have a local top level StateSet. This is now
used by default in the depth sorted bin.
2006-06-29 15:57:24 +00:00
Robert Osfield
240fc9ebee Replaced ref_ptr<>:take with ref_ptr<>:release, and added handling of removeal
of ref_ptr<> operator >.
2006-06-26 20:45:51 +00:00
Robert Osfield
a9f2e345c9 From David Fries, Reset only the RenderLeaf objects used in the last
frame as given by the _currentReuseRenderLeafIndex instead of
resetting all leaves which can be very time consuming.
2006-06-26 09:18:49 +00:00
Robert Osfield
4c5452733b With direction from Paul Melis, fixed bug in CopySharedSubgraphsVisitor which prevented
it being applied.  Also fix inappropriate comment.
2006-06-08 11:39:10 +00:00
Robert Osfield
bf0828138c Cleaned up the OpenGL error reporting. 2006-05-22 19:30:07 +00:00
Robert Osfield
8af7b04c5b From Farshid Lashkari, "The drawInner() method of osgUtil::RenderStage ignores the
checkForGLErrors flag of the osg::State object. The attatched file
fixes this."
2006-05-09 09:47:26 +00:00
Robert Osfield
a8c52a90f0 Added selective support for thread safe ref/unref such that the rendering
backend now doesn't use thread safe ref counting where multi-buffering exists.
This reduces the overhead of multi-threading.
2006-05-02 15:52:46 +00:00
Robert Osfield
43f0efd6d2 Reorganised the Group::removeChild and Geode::removeDrawable methods so
that removeChild(Node*), removeChild(uint) and equivilant Geode methods are
now inline methods, not designed to be overriden, and seperated out the
multiple remove method to be called removeChildren(uint, uint) which is
now the only virtual method.  There removeChildren is now the method to
override in subclasses.

This reorganisation requires some call code to be rename removeChild usage
to removeChildren.
2006-05-02 09:45:31 +00:00
Robert Osfield
fb35d02c33 Added setting of the FrameStamp on the RenderStage's local GraphicsContext to
keep it in sync with the calling graphics context.
2006-04-17 13:25:33 +00:00
Robert Osfield
4c0cfd18da From Ben Discoe, added missing drawable->dirtyDisplayList(). 2006-04-14 08:28:35 +00:00