NAME

hwMesh - create a 2-dimensional mesh of vertices, to be drawn as a sequence of triangle strips

INHERITS FROM

PROPERTIES

GraphN 1I Number of rows in the data mesh
GraphM 1I Number of columns in the data mesh
OptFlags 1I Optimization flags; see hw for details
Data *F The data mesh
Resolution 1F Tessellation multiplier

DEFAULTS

GraphN 0
GraphM 0
OptFlags hwDefaultOptFlags
Data NULL
Resolution 1.0

DESCRIPTION

The hwMesh class takes a mesh of vertices and displays them as a series of triangle strips. The GraphN parameter describes the number of rows in the mesh. The GraphM parameter describes the number of columns in the mesh. The Data pointer is an array of hwFloat values; the number of values should be equal to GraphN*GraphM*FPV, where FPV is the number of hwFloats present per vertex as described by hwVertex.3.

C EXAMPLE

    /* Draw a two-sided square using the hwMesh primitive */
    hwObject
        mesh;
    hwFloat
        data[] = {
            0,0,0,      1,0,0,
            0,1,0,      1,1,0
        };

    mesh = hwMesh->create( hwMesh );
    mesh->modify( mesh, hwStrData, HW_MAKE_TYPE(HW_TYPE_FLOAT,3*2*2), data );
    HW_MODIFY_1I( mesh, hwStrGraphN, 2 );
    HW_MODIFY_1I( mesh, hwStrGraphM, 2 );
    HW_MODIFY_1B( mesh, hwStrTwoSided, HW_TRUE );
    mesh->draw( mesh );
    mesh->destroy( mesh );

OBJECT FILE EXAMPLE

    # A two-sided square using an hwMesh
    hwMesh mesh {
        GraphN = 2;
        GraphM = 2
        TwoSided = True
        Data = {0,0,0,  1,0,0,    0,1,0,  1,1,0}
    }

SEE ALSO

hw, hwSurface, hwOrient