Hi Glenn,

thanks for your reply...
so to avoid the gl state change related to the bind/unbind of the buffers,
have I got to pack multiple geometries into a single one?

I'd had preferred to keep them separated as each has a "logical" meaning in
my app,
and to have direct access to a single geom when picking.

Also, I don't understand very much what's advantage in sharing VBOs among
geometries if they are rebound for every geometry rendered.
I thought the gain when creating larger VBO shared among geometries was to
reduce the state changes and obtain better batches down on the graphics HW.
Thank you.

Ricky



On Thu, May 5, 2011 at 17:51, Glenn Waldron <gwald...@gmail.com> wrote:

> Ricky,
>
> 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.)
>
> Glenn Waldron / Pelican Mapping / @glennwaldron
>
>
>
> On Thu, May 5, 2011 at 11:40 AM, Riccardo Corsi <
> riccardo.co...@kairos3d.it> wrote:
>
>> 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 <jasonbever...@gmail.com>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 <mogu...@gmail.com> 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 <jasonbever...@gmail.com>
>>> >> To: OpenSceneGraph Users <osg-users@lists.openscenegraph.org>
>>> >> Subject: Re: [osg-users] large VBOs for multiple Drawables
>>> >> Message-ID:
>>> >>        <aanlktin2mdb-vewdrpkp0rwjxcok2jm4o0vdx31ao...@mail.gmail.com>
>>> >> 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 <mogu...@gmail.com>
>>> 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
>>> >>> osg-users@lists.openscenegraph.org
>>> >>>
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>> > _______________________________________________
>>> > osg-users mailing list
>>> > osg-users@lists.openscenegraph.org
>>> >
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>> >
>>> _______________________________________________
>>> osg-users mailing list
>>> osg-users@lists.openscenegraph.org
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>
>>
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users@lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to