hwVertex - describe the format of a HoverWare vertex
HasW | 1B | Does each vertex contain a homogeneous W component? |
HasRGB | 1B | Does each vertex contain an RGB triple? |
HasAlpha | 1B | Does each vertex contain an alpha? |
HasNormals | 1B | Does each vertex contain a normal XYZ triple? |
HasTangent | 1B | Does each vertex have a 4-component tangent vector (for bump/relief mapping)? |
HasST | 1B | Does each vertex contain a texture S,T pair? |
HasR | 1B | Does each vertex contain a texture R? |
HasQ | 1B | Does each vertex contain a texture Q? |
HasST1, HasST2, HasST3, HasST4, HasST5, HasST6, HasST7 | 1B | Same as HasST for texture unit N |
HasR1, HasR2, HasR3, HasR4, HasR5, HasR6, HasR7 | 1B | Same as HasR for texture unit N |
HasQ1, HasQ2, HasQ3, HasQ4, HasQ5, HasQ6, HasQ7 | 1B | Same as HasQ for texture unit N |
All vertex properties default to False
There is not really a hwVertex class; however, several HoverWare classes use these properties and inherit them from a pseudo-class. The classes which use these properties include:
Some of the properties are only valid to specify if another property is also specified. This is the complete list of such "dependent" properties:
Property | Dependent upon: |
---|---|
HasAlpha | HasRGB |
HasR | HasST |
HasR1 | HasST1 |
HasR2 | HasST2 |
HasR3 | HasST3 |
HasR4 | HasST4 |
HasR5 | HasST5 |
HasR6 | HasST6 |
HasR7 | HasST7 |
HasQ | HasR |
HasQ1 | HasR1 |
HasQ2 | HasR2 |
HasQ3 | HasR3 |
HasQ4 | HasR4 |
HasQ5 | HasR5 |
HasQ6 | HasR6 |
HasQ7 | HasR7 |
The data in a vertex is specified in the same order as the list of flags above. Each data element consists of one, two, or three floating point numbers. All vertices implicitly contain an XYZ coordinate triple, regardless of any other flag settings. This triple is always the first element in each vertex. HoverWare therefore supports from 3 (if no flags are specified) to 47 (if all possible flags are specified) floats per vertex.
/* TBD */
# TBD