D3DRECTPATCH_INFO 结构

描述矩形高阶修补程序。

语法

typedef struct D3DRECTPATCH_INFO {
  UINT          StartVertexOffsetWidth;
  UINT          StartVertexOffsetHeight;
  UINT          Width;
  UINT          Height;
  UINT          Stride;
  D3DBASISTYPE  Basis;
  D3DDEGREETYPE Degree;
} D3DRECTPATCH_INFO, *LPD3DRECTPATCH_INFO;

成员

StartVertexOffsetWidth

类型: UINT

起始顶点偏移宽度,以顶点数表示。

StartVertexOffsetHeight

类型: UINT

起始顶点偏移高度(以顶点数表示)。

Width

类型: UINT

每个顶点的宽度(以顶点数表示)。

Height

类型: UINT

每个顶点的高度(以顶点数为单位)。

大步

类型: UINT

虚二维顶点数组的宽度,它占用与顶点缓冲区相同的空间。 有关示例,请参阅下图。

Basis

类型: D3DBASISTYPE

D3DBASISTYPE 枚举类型的成员,定义矩形高阶修补程序的基础类型。

支持订单 宽度和高度
D3DBASIS_BEZIER 线性、立方和五元 Width = height = (DWORD) 顺序 + 1
D3DBASIS_BSPLINE 线性、立方和五元 Width = height > (DWORD) 顺序
D3DBASIS_INTERPOLATE 立方 Width = height > (DWORD) 顺序

 

程度

类型: D3DDEGREETYPE

D3DDEGREETYPE 枚举类型的成员,定义矩形补丁的度数。

备注

下图标识了指定矩形修补程序的参数。

矩形高阶修补程序及其指定参数的示意图

顶点缓冲区中的每个顶点显示为一个黑点。 在这种情况下,顶点缓冲区中有 20 个顶点,其中 16 个位于矩形补丁中。 步幅是顶点缓冲区宽度中的顶点数,在本例中为 5。 第一个顶点的 x 偏移量称为 StartIndexVertexWidth,在本例中为 1。 第一个补丁顶点的 y 偏移量称为 StartIndexVertexHeight,在本例中为 0。

若要 (非马赛克) 呈现单个矩形贴片流,应将几何图形解释为长窄 (1 x N) 矩形贴片。 这种带 (立方贝塞尔) 的D3DRECTPATCH_INFO结构将通过以下方式建立。

    
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.

要求

要求
标头
D3D9Types.h

另请参阅

Direct3D 结构

DrawRectPatch

D3DXTessellateRectPatch