Hi Bryan,

My best guess would be a straight out of memory error.  Is your scene
particularly large?

W.r.t tracking down this types of problems it's useful to provide
details on which version of the OSG you are using, the OS, the dev
tool, and the stack trace.

Cheers,
Robert.

On Thu, Mar 27, 2008 at 12:03 AM, Bryan Berg <[EMAIL PROTECTED]> wrote:
>
>
>
>
> Hi all,
>
>
>
> I'm trying to draw a scene and I'm getting the error:
>
>
>
> Unhandled exception at 0x7c812a5b in Mocu.exe: Microsoft C++ exception:
> std::bad_alloc @
>
> 0x0012f19c.
>
>
>
> I've stepped through the code of osgutil and it crashes on:
>
>
>
> _drawable->draw(renderInfo);
>
>
>
> Which is inside
>
>
>
> void RenderLeaf::render(osg::RenderInfo& renderInfo,RenderLeaf* previous)
>
>
>
> Unfortunately I can't go inside the draw method since its not a cpp, but the
> method looks like:
>
>
>
> inline void Drawable::draw(RenderInfo& renderInfo) const
>
> {
>
>     if (_useDisplayList && !(_supportsVertexBufferObjects &&
> _useVertexBufferObjects &&
> renderInfo.getState()->isVertexBufferObjectSupported()))
>
>     {
>
>         // get the contextID (user defined ID of 0 upwards) for the
>
>         // current OpenGL context.
>
>         unsigned int contextID = renderInfo.getContextID();
>
>
>
>         // get the globj for the current contextID.
>
>         GLuint& globj = _globjList[contextID];
>
>
>
>         // call the globj if already set otherwise compile and execute.
>
>         if( globj != 0 )
>
>         {
>
>             glCallList( globj );
>
>         }
>
>         else if (_useDisplayList)
>
>         {
>
> #ifdef USE_SEPARATE_COMPILE_AND_EXECUTE
>
>             globj = generateDisplayList(contextID, getGLObjectSizeHint());
>
>             glNewList( globj, GL_COMPILE );
>
>             if (_drawCallback.valid())
>
>                 _drawCallback->drawImplementation(renderInfo,this);
>
>             else
>
>                 drawImplementation(renderInfo);
>
>             glEndList();
>
>
>
>             glCallList( globj);
>
> #else
>
>             globj = generateDisplayList(contextID, getGLObjectSizeHint());
>
>             glNewList( globj, GL_COMPILE_AND_EXECUTE );
>
>             if (_drawCallback.valid())
>
>                 _drawCallback->drawImplementation(renderInfo,this);
>
>             else
>
>                 drawImplementation(renderInfo);
>
>             glEndList();
>
> #endif
>
>         }
>
>
>
>         return;
>
>
>
>     }
>
>
>
>     // draw object as nature intended..
>
>     if (_drawCallback.valid())
>
>         _drawCallback->drawImplementation(renderInfo,this);
>
>     else
>
>         drawImplementation(renderInfo);
>
> }
>
>
>
>
>
> }
>
>
>
> Any ideas?
>
>
>
> Thanks so much!
>
>
>
> -Bryan
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
>  osg-users mailing list
>  [email protected]
>  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to