Hi All,

I revamp this thread as my question is strictly related, as I'm trying to
pack multiple geometries into shared VBO.

I'm creating a shared osg::Vec3Array for vertices,
same for as many vertex attribute as I need,
and then assigning these shared arrays to the different geometries
(pGeom->setVertexArray() and pGeom->setVertexAttribArray() )
and telling the geometry to use VBO and not display lists.

Then I create a new DrawElements for each geometry, with the correct vertex
indices offset,
and as I want them to share the same EBO underneath,
I'm trying with:
pDrawElemsUInt->setElementBufferObject(pSharedEBO);
pGeom->addPrimitiveSet(pDrawElemsUInt);

But I think I' missing something because, with gDebugger, I see that there
are as many bindBuffer calls as num-geom * num-shared-buffers.

Am I wrong in the way I try to share the drawElems EBO? Or missing something
else?
Thank you!

Ricky




On Mon, Jan 3, 2011 at 19:31, Jason Beverage <[email protected]>wrote:

> Hi Terry,
>
> I was generating all my geometry in code so I wrote some custom code
> to pack them tightly into a single vertex array.
>
> Jason
>
> On Mon, Jan 3, 2011 at 1:05 PM, Terry Welsh <[email protected]> wrote:
> > Hi Jason,
> > Thank you for the suggestion.  I feel like I'm missing something
> > still.  Is there an Optimizer feature or something that combines
> > Arrays for you?  Or did you write a bunch of custom code that
> > processes your models after you load them?
> > --
> > Terry Welsh
> > mogumbo 'at' gmail.com
> > www.reallyslick.com
> >
> >
> >
> >> Message: 3
> >> Date: Sun, 2 Jan 2011 21:28:12 -0500
> >> From: Jason Beverage <[email protected]>
> >> To: OpenSceneGraph Users <[email protected]>
> >> Subject: Re: [osg-users] large VBOs for multiple Drawables
> >> Message-ID:
> >>        <[email protected]>
> >> Content-Type: text/plain; charset=ISO-8859-1
> >>
> >> Hi Terry,
> >>
> >> You can pack the verts of your small objects into a single
> >> osg::Vec3Array and share that array across multiple osg::Geometry
> >> objects then use DrawElements for each geometry with the correct
> >> indices.  I've just recently done this actually for a project I'm
> >> working on and it's worked out great.
> >>
> >> Thanks,
> >>
> >> Jason
> >>
> >> On Sat, Jan 1, 2011 at 6:21 PM, Terry Welsh <[email protected]> wrote:
> >>> I found some email threads that hinted at this a little, but nothing
> >>> seemed very specific. ?I have scenes where display lists perform a bit
> >>> better than VBOs. ?My best guess is because my objects have relatively
> >>> small vertex counts (usually between 20 and 200). ?Is there any way in
> >>> OSG to use one large VBO to store the date for multiple Drawables in
> >>> order to minimize buffer state changes?
> >>> --
> >>> Terry Welsh
> >>> mogumbo 'at' gmail.com
> >>> www.reallyslick.com
> >>> _______________________________________________
> >>> 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
> >
> _______________________________________________
> 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