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.
規格需求
需求 | 值 |
---|---|
標頭 |
|
另請參閱