D3DBASISTYPE enumeration

Defines the basis type of a high-order patch surface.

Syntax

typedef enum D3DBASISTYPE { 
  D3DBASIS_BEZIER       = 0,
  D3DBASIS_BSPLINE      = 1,
  D3DBASIS_CATMULL_ROM  = 2,
  D3DBASIS_FORCE_DWORD  = 0x7fffffff
} D3DBASISTYPE, *LPD3DBASISTYPE;

Constants

D3DBASIS_BEZIER

Input vertices are treated as a series of Bézier patches. The number of vertices specified must be divisible by 4. Portions of the mesh beyond this criterion will not be rendered. Full continuity is assumed between sub-patches in the interior of the surface rendered by each call. Only the vertices at the corners of each sub-patch are guaranteed to lie on the resulting surface.

D3DBASIS_BSPLINE

Input vertices are treated as control points of a B-spline surface. The number of apertures rendered is two fewer than the number of apertures in that direction. In general, the generated surface does not contain the control vertices specified.

D3DBASIS_CATMULL_ROM

An interpolating basis defines the surface so that the surface goes through all the input vertices specified. In DirectX 8, this was D3DBASIS_INTERPOLATE.

D3DBASIS_FORCE_DWORD

Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.

Remarks

The members of D3DBASISTYPE specify the formulation to be used in evaluating the high-order patch surface primitive during tessellation.

Requirements

Requirement Value
Header
D3D9Types.h

See also

Direct3D Enumerations

D3DRECTPATCH_INFO

D3DTRIPATCH_INFO