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
-
仮想 2 次元頂点配列の幅。頂点バッファーと同じ空間を占有します。 例については、次の図を参照してください。
-
基準
-
型: D3DBASISTYPE
-
D3DBASISTYPE 列挙型のメンバー。四角形の高次パッチの基底型を定義します。
値 サポートされている注文 幅と高さ D3DBASIS_BEZIER 線形、立方、および五次 Width = height = (DWORD)order + 1 D3DBASIS_BSPLINE 線形、立方、および五次 Width = height > (DWORD) order D3DBASIS_INTERPOLATE 立方 Width = height > (DWORD) order -
度
-
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.
要件
要件 | 値 |
---|---|
ヘッダー |
|
こちらもご覧ください