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

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