[osg-users] Some yes/no questions about VBOs
robert.osfield at gmail.com
Wed Jul 2 06:17:01 PDT 2008
On Wed, Jul 2, 2008 at 1:43 PM, David Spilling <david.spilling at gmail.com> wrote:
> 1) I can't quite understand all of the BufferObject code, but just to check,
> it looks like all three arrays are dumped into one large contiguous buffer
> (i.e. one single bufferID). Is that correct?
> If(1) is true, and it's just one large buffer:
osg::Geometry uses one VBO for all vertex arrays associated with it,
and one VBO for the primitive data associated with it.
> 2) Am I right in thinking that limiting the upload to one of the arrays
> would involve extending BufferObject to use glBufferSubData, as it isn't
> currently supported?
I should already work in 2.4 onwards.
> 3) Can you set the stride of each buffer object (i.e. to support
> interleaving the arrays)? I can't see anything like glVertexPointer
The OSG doesn't support interleaving of vertex arrays, it doesn't
offer much benefit these days - interleaving was useful in the days of
CPU vertex processing.
> 4) More generally, is there any (easy) way to attach several BufferObjects
> to a Drawable, such that you could separately dirty() vertex, texcoord or
> normal without having to upload the others?
> If (1) is false, and each array has a different buffer object/ID,
This should be a moot point now.
> 5) Is there an obvious way that I've missed for dirtying just one of the
> arrays in the VBO space?
Each Array now has its own dirty() method.
More information about the osg-users