[osg-users] (no subject)

Pecoraro, Alexander N alexander.n.pecoraro at lmco.com
Fri Jun 6 06:15:38 PDT 2008


 
I think there is a bug in the osgUtil::Optimizer::CombineLODVisitor - at
line 1530 of Optimizer.cpp it does a dynamic_cast on and osg::Node* to
osg::LOD* and then at line 1563 it calls getChild(i) (even if
getNumChildren() == 0) on the dynamically casted LOD node. This works
fine when the node is an LOD node, but when it is a PagedLOD node then
it causes in invalid access to the _children vector. I attached a screen
shot to show what I mean.

This situation would only ocurr when a PagedLOD node was a sibling of an
LOD node, which is probably why it hasn't been spotted before.

Not sure if this is the accepted way to submit a fix, but anyway I made
a fix to the Optimizer code (version 2.4) and attached it to the email.

Alex
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Optimizer.cpp
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20080606/7afb8476/attachment-0002.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Optimizer
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20080606/7afb8476/attachment-0003.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CombineLODVisitorBug.JPG
Type: image/jpeg
Size: 112015 bytes
Desc: CombineLODVisitorBug.JPG
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20080606/7afb8476/attachment-0001.jpeg>


More information about the osg-users mailing list