Horde3D
http://horde3d.org/forums/

ColladaConv: incorrect treatment of input mapping (+fix)
http://horde3d.org/forums/viewtopic.php?f=3&t=1144
Page 1 of 1

Author:  Navajo [ 09.04.2010, 10:51 ]
Post subject:  ColladaConv: incorrect treatment of input mapping (+fix)

Hi!

I had a critical error in ColladaConv while parsing exported file.
As i see in debug, that's because of incorrect offset sharing.

This is a part of the file (where the actual number of input data units less than the number of inputs)
Code:
<triangles material="initialShadingGroup" count="2">
  <input semantic="VERTEX" source="#MirrorShape-vertices" offset="0"/>
  <input semantic="NORMAL" source="#MirrorShape-normals" offset="1"/>
  <input semantic="TANGENT" source="#MirrorShape-geotangent" offset="1"/>
  <input semantic="BINORMAL" source="#MirrorShape-geobinormal" offset="1"/>
  <input semantic="TEXCOORD" source="#MirrorShape-map1" offset="2" set="0"/>
  <input semantic="TEXTANGENT" source="#MirrorShape-map1-tangents" offset="3" set="0"/>
  <input semantic="TEXBINORMAL" source="#MirrorShape-map1-binormals" offset="4" set="0"/>
  <p>2 0 0 0 0 1 1 1 0 0 3 2 2 0 0 0 3 3 0 0 1 4 1 0 0 2 5 0 0 0</p>
</triangles>


So while parsing actual primitive data (ColladaConverter/daeLibGeometries.h) we should use not the total number of inputs, but (maximum offset + 1).

I've attached my version of fix for daeLibGeometries.h

Good luck!

Attachments:
daeLibGeometries.h [12.52 KiB]
Downloaded 798 times

Author:  marciano [ 09.04.2010, 23:10 ]
Post subject:  Re: ColladaConv: incorrect treatment of input mapping (+fix)

Thanks Navajo, you are right, the handling of inputs was not correct. Thanks a lot for the patch!

Author:  Navajo [ 10.04.2010, 15:50 ]
Post subject:  Re: ColladaConv: incorrect treatment of input mapping (+fix)

Thanks for the engine!
I like it very much :)

Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/