Hi Fred

> ledocc wrote:
> > I already have to do this kind of optimization, I have used a
> NodeVisitor to traverse
> > the graph and assign VBO and EBO to geometries.
>
> Sounds like you are reusing the same VBO/EBO for all geometries.


Yes I did


> Did you check that OSG is indeed not binding/unbinding the buffers every
> time?


As so many time in OSG, thing are well done.

VBO and EBO are not bind/unbind for each array or each geometry draw.
During draw, all OpenGL state change are minimized, so VBO is bind at the
beginning of the
frame when the first geometry need it, then unbind when a different VBO
need to be bind.
All OpenGL State are save in osg::State. Each osg::Geometry use the same
instance of
osg::State (give in parameter in osg::RenderInfo to
osg::Geometry::drawImplementation )
and ask to this instance to bind its VBO/EBO. osg::State did it when it
need.

take a look to
osg::Geometry::drawImplementation
osg::State::setVertexPointer
osg::State::bindVertexBufferObject

HTH
David


> Again thanks for your reply,
> Fred
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=47790#47790
>
>
>
>
>
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to