Hi Fabien,

The best way to go about supporting shared arrays in .ive is to
implement a similar scheme that is currently used for Nodes,
Drawables, StateSet and StateAttributes in the .ive.  The scheme
involves writing out an id with the array, and then later places where
that array is used the id is written out in its place.  A map within
the plugin is used to keep track of id's and associated objects for
both reading and writing.  In implementing such a scheme for arrays
one will need to make sure that backwards compatibility is achieved by
versioning the new code carefully.

Robert.

On Thu, Aug 21, 2008 at 10:53 AM, Fabien Dachicourt <[EMAIL PROTECTED]> wrote:
> Hi Robert,
> Thank you for your answer,
>
> If shared vertex array are not common, it seems not necessary to support
> them in IVE,
> but in such case, maybe the DAE driver should not load meshes as shared
> vertex array.
>
> Maybe the best option is to update writers not supporting shared array :
> Now, in those writers, for all geometries sharing an array, a deep copy of
> the shared array is made for each geometry.
> In writers not supporting shared arrays, geometries could keep only array
> elements which are needed, rather than copying all the array.
>
> According to you, what is the best option ?
>
> Fabien
>
> ----- Original Message ----- From: "Robert Osfield"
> <[EMAIL PROTECTED]>
> To: "OpenSceneGraph Users" <osg-users@lists.openscenegraph.org>
> Sent: Tuesday, August 12, 2008 9:07 PM
> Subject: Re: [osg-users] DAE to OSG/IVE conversion problem when vertex
> areshared (OSG 2.4)
>
>
>> Hi Fabien,
>>
>> I suspect there is a couple of issues here.  First up .ive doesn't
>> support sharing of vertex arrays, it's not a particular common need
>> which is probably why no one else has highlighted this requirement or
>> step forward to implement.  Adding won't be particularly difficult as
>> sharing of Nodes, Drawables and State is already supported, but it'll
>> require a increment of the ive version internal number/and careful
>> handling of backwards compatibility.  Same applies to .osg.  Feel free
>> to dive in and help implement it.
>>
>> The other issue is that your .dae model is just 3Mb while the output
>> .ive is 250Mb, this screams to me that you have shared arrays in
>> separate geometry, whereas your model really should be setup as a
>> small number of geometry without shared arrays.   I haven't had a
>> chance to look at your model - I have a full inbox so am just skimming
>> right now, but I'd suggest you have a look at how many primitives are
>> in each geometry.
>>
>> Robert.
>>
>> On Mon, Aug 11, 2008 at 11:48 AM, Fabien Dachicourt <[EMAIL PROTECTED]>
>> wrote:
>>>
>>> Hi all,
>>> Using osgconv on some DAE models to procude IVE files sometimes really
>>> increase the vertex count (and file size)
>>> I'm not talking about texture problem, but about geometry and vertex.
>>>
>>> It seems the problem appear when vertex arrays are shared in the DAE
>>> model
>>> (in a mesh entity) between several geomerties using distinct materials.
>>> When the DAE file is loaded in OSG, it seems ok, it looks like everything
>>> remains shared.
>>> But when we write the node (to IVE or OSG for instance, but it seems it
>>> appears in other formats too), the shared vertex array seems duplicated
>>> for
>>> each geometry, including useless vertex : it dramatically increase the
>>> object size (from 3 Mb to 250 Mb in my example).
>>>
>>> Using "osgconv --simplify 1", we remove useless vertex and the problem is
>>> almost solved.
>>>
>>> Regarding this problem, I'm wondering if there is something to improve in
>>> OGS :
>>> - To support shared vertex arrays (and normals/textures arrays..) between
>>> geodes in OSG or IVE format
>>> - To remove any useless array element when writing nodes
>>>
>>> See this example,
>>> http://spaceyes.nerim.net/sample/sample_dae.zip
>>>
>>> Thanks in advance for your answers,
>>> Fabien
>>> _______________________________________________
>>> 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