Hi Paul,

osg::Array doesn't have any mechanism for tracking ranges of modified
vertices, only the dirty count is availble and that works for the
whole array.  Adding such support is possible, but would be quite
complicated to implement/use unless you refactored osg::Array so that
rather than being based on std::vector<> it instead forced users to
use its own set/get/push_back methods for array access.  This is all
possible, perhaps even desirable.

Robert.

On Fri, Jun 13, 2008 at 5:09 PM, Paul Martz <[EMAIL PROTECTED]> wrote:
> Hi -- a question came up in the Denver class regarding dynamic data in VBOs,
> and I had to admit I encountered this as well, and needed a solution. Here's
> the issue...
>
> If I enable VBOs in a Geometry, and dynamically modify the data each frame,
> the buffer object doesn't update unless I explicitly call dirty() on the
> modified Vec3Array. When I do this, the scene updates dynamically, yes, but:
> in a debugger, I see that the _entire_ block of array data is copied into
> the buffer object, not just the modified portion.
>
> Is there something I'm missing in the interface that would a) make it so the
> VBO will update without requiring an explicit dirty() call, and b) would
> allow just the modified portion to be copied (using, say, glMapBuffer, for
> example)?
>
> Thanks,
>
> Paul Martz
> Skew Matrix Software LLC
> http://www.skew-matrix.com
> +1 303 859 9466
>
> _______________________________________________
> 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