Not sure I understand what's happening here...?

I’m running the coherency tester on a modified version of a model produced by makehuman, and when I do this, I get the following error from it:

ERROR: CHECK_count Failed: expected=55854, result=111708(type=source,id=mesh-Geometry-Normals)array count != number of name in array value_count

The source in question is defined thus:


  <source id="mesh-Geometry-Normals">
    <float_array count="55854" id="mesh-Geometry-Normals-array">
       [111,708 numbers]
    </float_array>
    <technique_common>
	<accessor count="18618" source="#mesh-Geometry-Normals-array" stride="3">
		<param name="X" type="float"/>
		<param name="Y" type="float"/>
		<param name="Z" type="float"/>
	</accessor>
    </technique_common>
  </source>

OK, I think, the count value in the definition is wrong. I change it to 111708, and now I get this error from the coherency tester:

ERROR: CHECK_count Failed: expected=111708, result=55854(type=source,id=mesh-Geometry-Normals)accessor_stride >= accessor_size but array_count != accessor_count * accessor_stride

Can somebody point me in the direction of whatever it is I’m missing here…?

Yes, array count should match the number of values in the array.

Looks like it’s reporting that array[111708] != accessor(18618 * 3) as a coherency error when it should not in that particular case. This is a bug in the Coherency Checker that should be reported to sourceforge.

It’s okay for a <souce>'s array to contain more data then its <accessor> addresses because array data can be shared and even externalized (it’s addressed by a URI).