On Wed, Nov 24, 2010 at 11:25 AM, Werner Modenbach < [email protected]> wrote:
> Hi Tim, > > The new data arrives asynchronously out of threads. So I have no chance to > relate the updates in any way to the timing of frame() calls. > I didn't understand that you were updating the vertex from threads other than the update traversal, so yes, I can see why you need the mutex. > Unfortunately I cannot believe it doesn't matter to osg replacing arrays > out of threads eventually while frame() is active. > Nevertheless, the OSG draw traversal does not use DYNAMIC objects while the update thread is running. If you could update the vertex arrays from the update traversal, this method would work. However, it sounds like you'll eventually have more success following Robert's suggestion. > BTW using VBOs results in the following message: > > Warning: detected OpenGL error 'invalid operation' after RenderBin::draw(,) > > RenderStage::drawInner(,) FBO status= 0x8cd5 > Don't know what that's about. Tim > Am Mittwoch, 24. November 2010, 10:53:07 schrieb Tim Moore: > > > You don't need to generate new vertex arrays each frame, and you don't > need > > > the mutex either, at least not for OSG. Disable display lists, enable > VBOs, > > > set the data variance of the vertex arrays to Object::DYNAMIC. During > each > > > frame update the existing arrays and call their dirty() method. > > > > > > _______________________________________________ > 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

