The last values of fields with lengths li> than the 'period' are re-used to
get a complete material definition at each period step.
And if more values are needed than are defined by the period then the whole
period is recycled.
So, given:
ambientColor[0...3]
diffuseColor[0...7]
and 10 vertices [0...9] to be colored PER_VERTEX, it would b>Prbr>
vertices[0...3]: ambientColor[0...3], diffuseColor[0...3]
vertices[4...7]: ambientColor[3], diffuseColor[4...7]
vertices[8...9]: ambientColor[0...1], diffuseColor[0...1]
For Inventor 2.1, we (the Inventor group here at SGI) are going to try to
simplyify the material binding rules and see if anybody complains (it is hard
to optimize rendering with the semantics described above ). Unfortunately, I
wrote the VRML spec before we decided this.
We're going to:
-- pay attention only to the first value of the
ambient/emissive/specular/shininess fields in the material node, allowing
ONLY multiple diffuse colors and transparencies
-- issue an error if not enough diffuse colors are specified for the material
binding chosen (no cycling through the list).
Almost all tool-created (as opposed to hand-edited) Inventor files adhere to
the new rules.