HI Adam
Simply configurethe geometry to
geom->setUseDisplayList(false);
geom->setUseVertexBufferObjects(true);
in order to deactivate the display list generation
Also, I think you don't have to use setVertexArray, as long as you keep
the array as a pointer. (@Robert, is the data actually copied?)
Cheers
Sebastian
I'm looking for ideas/the correct way to implement a vertex array or VBO in OSG
that gets updated each frame.
I have a camera that renders to a FBO. It renders a bunch of rain drops to an
alpha texture that is applied to a cars windshield. Each frame on the CPU I
update the rain drops to move down, and I also spawn new ones and erase ones
where the wipers wipe them away.
I created a callback class inherting from osg::Drawable::UpdateCallback, that
gets called each frame, I perform my logic and then re-use the same
osg::Vec3Array and just update it per frame and then reset the drawable with:
osg::Geometry* geometryNode = drawable->asGeometry();
geometryNode ->setVertexArray(rainState->vertices);
Unfortunately this setVertexArray is killing my framerate from 98 to 78. All
this does is make the Drawable::draw() function make a new display list, do the
draw functions and finish.
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=63294#63294
_______________________________________________
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