On Thu, May 5, 2011 at 12:59 PM, Paul Martz <[email protected]> wrote:

> On 5/5/2011 9:51 AM, Glenn Waldron wrote:
>
>> AFAIK, OSG doesn't maintain VBO/EBO bindings as part of its sortable
>> state. So I
>> believe they will be bound and unbound for each Geometry, even if they are
>> shared. Somebody correct me if I'm wrong. (See
>> Geometry::drawImplementation.)
>>
>
> This is my experience as well. OSG binds and unbinds the buffer object per
> Geometry during draw, and doesn't attempt to minimize this state change.
>
> OSG relies on the underlying OpenGL implementation to do lazy buffer
> bindings, so that binding a buffer, followed by unbinding a buffer, followed
> by binding the same buffer again, is handled optimally. However, to my
> knowledge, OSG doesn't group Geometry objects based on the buffer objects
> they use, so even if the underlying OpenGL implementation does perform lazy
> buffer bindings, it's unlikely that OSG is taking maximum advantage of it.


Paul, you know more about OSG internals than I. Would you think that
isolating all the Geomety objects that share a VBO into a single render bin
might increase the effectiveness of the driver's lazy binding?

Glenn Waldron / Pelican Mapping / @glennwaldron
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to