Hi Robert,
as already written, the problem is an invalidated _extensions object.
It seems to be invalidated by the State destructor, which causes the
destructor of the GLExtensions object to be called. (I've got there
using a memory breakpoint)
I've attached a callstack for analysis. (i've added a destructor for the
GLExtensions for testing)
Cheers
Sebastian
<snip>
osg116-osgd.dll!osg::Referenced::~Referenced() Line 234 C++
osg116-osgd.dll!osg::GLExtensions::~GLExtensions() + 0x28
bytes C++
osg116-osgd.dll!osg::GLExtensions::`vector deleting destructor'()
+ 0x7d bytes C++
osg116-osgd.dll!osg::Referenced::signalObserversAndDelete(bool
signalDelete, bool doDelete) Line 324 + 0x31 bytes C++
osg116-osgd.dll!osg::Referenced::unref() Line 200 C++
osg116-osgd.dll!osg::ref_ptr<osg::GLExtensions>::operator=(osg::GLExtensions
* ptr) Line 59 C++
osg116-osgd.dll!osg::GLExtensions::Set(unsigned int contextID,
osg::GLExtensions * extensions) Line 429 C++
> osg116-osgd.dll!osg::State::~State() Line 136 C++
osg116-osgUtild.dll!osg::State::`scalar deleting destructor'() +
0x2d bytes C++
osg116-osgd.dll!osg::Referenced::signalObserversAndDelete(bool
signalDelete, bool doDelete) Line 324 + 0x31 bytes C++
osg116-osgd.dll!osg::Referenced::unref() Line 200 C++
osg116-osgUtild.dll!osg::ref_ptr<osg::State>::operator=(osg::State *
ptr) Line 59 C++
osg116-osgUtild.dll!osg::RenderInfo::setState(osg::State * state)
Line 57 + 0x32 bytes C++
osg116-osgUtild.dll!osgUtil::SceneView::setState(osg::State *
state) Line 184 + 0x3b bytes C++
osg116-osgViewerd.dll!osgViewer::Renderer::updateSceneView(osgUtil::SceneView
* sceneView) Line 517 C++
osg116-osgViewerd.dll!osgViewer::Renderer::cull() Line 625 C++
osg116-osgViewerd.dll!osgViewer::ViewerBase::renderingTraversals() Line
826 C++
osg116-osgViewerd.dll!osgViewer::ViewerBase::frame(double
simulationTime) Line 677 C++
osg116-osgViewerd.dll!osgViewer::ViewerBase::run() Line 647 C++
osg116-osgViewerd.dll!osgViewer::Viewer::run() Line 420 C++
RenderTest_d.exe!main(int argc, char * * argv) Line 66 + 0xb
bytes C++
RenderTest_d.exe!__tmainCRTStartup() Line 555 + 0x19 bytes C
RenderTest_d.exe!mainCRTStartup() Line 371 C
</snip>
Hi Robert,
would you expect problems with old osgTerrain databases (build with
~3.2.0, osgb format)?
I have some strange behaviour with a huge database, which simply not
displayed anymore and somehow breaks state (See attached picture).
Also there is a warning coming from an optimzer I guess:
Warning: CollectLowestTransformsVisitor::removeTransforms() error,
encountered a NULL Transform pointer
A second, much smaller database is sometimes displayed, but crashes
the viewer sometimes.
Unfortunately my first email, containing a database didn't get through.
It is really hard to find the culprit.
Any hints?
I'll investigate the issue further ...
Cheers
Sebastian
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org