hwQuads - define one or more quadrilaterals
| Data | *F | The list of vertices (4 for each quad), with from 3 to 11 floats per vertex |
| OptFlags | 1I | The optimization flags; see hw for details |
| GraphN | 1I | Sub-tesselation parameter for each Quad |
| GraphM | 1I | Sub-tesselation parameter for each Quad |
| OptFlags | hwDefaultOptFlags |
| Data | NULL |
| GraphN | 1 |
| GraphM | 1 |
The hwQuads class takes a list of vertices and displays them as a number of closed polygonal surfaces. The Data pointer is an array of hwFloat values; the number of values must be equal to 4*n*FPV, where FPV is the number of hwFloats present per vertex as described by the hwVertex man page. The number n is derived from the size of the Data array, and is the number of quadrilaterals, each of which must have 4 vertices.
/* Draw a square two-sided polygon, using one quadrilateral */
hwObject
quads;
hwFloat
verts[] = {0,0,0, 0,1,0, 1,1,0, 1,0,0};
quads = hwQuads->create( hwQuads );
quads->modify( quads, hwStrData, HW_MAKE_TYPE(HW_TYPE_FLOAT,4*3), verts );
HW_MODIFY_1B( quads, hwStrTwoSided, HW_TRUE );
quads->draw( quads );
quads->destroy( quads );
# A square two-sided polygon using two quadrilaterals
hwQuads quads {
TwoSided = True
Data = {0,0,0, 0,1,0, 1,1,0, 1,0,0}
}