Microsoft DirectX 8.0 (C++)

D3DRECTPATCH_INFO

Describes a rectangular high-order patch.

typedef struct _D3DRECTPATCH_INFO {
    UINT                StartVertexOffsetWidth;
    UINT                StartVertexOffsetHeight;
    UINT                Width;
    UINT                Height;
    UINT                Stride;
    D3DBASISTYPE        Basis;
    D3DORDERTYPE        Order;
} D3DRECTPATCH_INFO;

Members

StartVertexOffsetWidth
Starting vertex offset width, in number of vertices.
StartVertexOffsetHeight
Starting vertex offset height, in number of vertices.
Width
Width of each vertex, in number of vertices.
Height
Height of each vertex, in number of vertices.
Stride
Stride between segments, in number of vertices.
Basis
Member of the D3DBASISTYPE enumerated type, defining the basis type for the rectangular high-order patch.
Order
Member of the D3DORDERTYPE enumerated type, defining the order type for the rectangular high-order patch.

Remarks

To render a stream of individual rectangular patches (non-mosaic), you should interpret your geometry as a long narrow (1 × N) rectangular patch. The D3DRECTPATCH_INFO structure for such a strip (cubic bézier) would be set up in the following manner.

D3DRECTPATCH_INFO RectInfo;

RectInfo.Width = 4;
RectInfo.Height= 4;
RectInfo.Stride= 4;
RectInfo.Basis =  D3DBASIS_BEZIER;
RectInfo.Order =  D3DORDER_CUBIC;
RectInfo.StartVertexOffsetWidth = 0;
RectInfo.StartVertexOffsetHeight = 4*i;  // The variable i is the index of the patch you want to render.

Requirements

  Header: Declared in D3d8types.h.

See Also

IDirect3DDevice8::DrawRectPatch