Share via


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

起始頂點位移高度,以頂點數目為單位。

寬度

類型: UINT

每個頂點的寬度,以頂點數目為單位。

高度

類型: UINT

每個頂點的高度,以頂點數目為單位。

大步

類型: UINT

虛構二維頂點陣列的寬度,其佔用與頂點緩衝區相同的空間。 如需範例,請參閱下圖。

Basis

類型: D3DBASISTYPE

D3DBASISTYPE列舉型別的成員,定義矩形高階修補程式的基礎類型。

支援訂單 寬度和高度
D3DBASIS_BEZIER 線性、三次方和五元 Width = height = (DWORD) 順序 + 1
D3DBASIS_BSPLINE 線性、三次方和五元 Width = 高度 > (DWORD) 順序
D3DBASIS_INTERPOLATE 立方 Width = 高度 > (DWORD) 順序

 

程度

類型: D3DDEGREETYPE

D3DDEGREETYPE列舉型別的成員,定義矩形修補程式的程度。

備註

下圖識別指定矩形修補的參數。

矩形高序修補程式和指定它的參數圖表

頂點緩衝區中的每個頂點都會顯示為黑色點。 在此情況下,頂點緩衝區中有 20 個頂點,其中 16 個頂點位於矩形修補程式中。 跨度是頂點緩衝區寬度中的頂點數目,在此案例中為 5。 第一個頂點的 x 位移稱為 StartIndexVertexWidth,在此案例中為 1。 第一個修補程式頂點的 Y 位移稱為 StartIndexVertexHeight,在此案例中為 0。

若要轉譯 (非) 的個別矩形修補程式串流,您應該將幾何解譯為長窄 (1 x N) 矩形修補程式。 這類帶狀 (立方 Bézier) 的 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