Microsoft DirectX 8.0 (C++)

IDirect3DDevice8::DrawIndexedPrimitive

頂点の配列へのインデックスに基づいて、指定されたジオメトリ プリミティブをレンダリングする。

HRESULT DrawIndexedPrimitive(
  D3DPRIMITIVETYPE Type,
  UINT MinIndex,
  UINT NumVertices,
  UINT StartIndex,
  UINT PrimitiveCount
);

パラメータ

Type
[in] D3DPRIMITIVETYPE 列挙型のメンバ。レンダリングするプリミティブの種類を記述する。「注意」を参照すること。
MinIndex
[in] この呼び出しの間に使用される頂点群に対する最小の頂点インデックス。
NumVertices
[in] この呼び出しで使用される頂点の数 (BaseVertexIndex + MinIndex から始まる)。
StartIndex
[in] インデックス配列の中で頂点の読み取りを開始する位置。
PrimitiveCount
[in] レンダリングするプリミティブの数。使用される頂点の数は、プリミティブ カウントの機能とプリミティブの種類である。プリミティブの許容最大数は、D3DCAPS8 構造体の MaxPrimitiveCount メンバをチェックして決定される。

戻り値

成功した場合は、D3D_OK を返す。

失敗した場合は、D3DERR_INVALIDCALL を返す。

注意

このメソッドは、現在のデータ入力ストリームの集合からインデックス付きプリミティブを描画する。

MinIndex、およびインデックス ストリームのすべての頂点は、IDirect3DDevice8::SetIndices の呼び出し時に設定される BaseVertexIndex に関連する。

minIndex パラメータと NumVertices パラメータで、DrawIndexedPrimitive の呼び出しごとに使用する頂点インデックスの範囲を指定する。この 2 つのパラメータを使って、インデックス付けする前の頂点群のシーケンシャルな範囲を処理することで、インデックス付きプリミティブの頂点処理を最適化する。呼び出しの間に使われるインデックスがこの範囲外の頂点を参照することは無効である。

インデックス配列が設定されていない場合、DrawIndexedPrimitive は失敗する。

D3DPRIMITIVETYPE 列挙型の D3DPT_POINTLIST メンバはサポートされていないので、Type として指定すべきではない。

動作環境

  ヘッダー : d3d8.h で宣言。
  インポート ライブラリ : D3d8.lib を使用。

参照

IDirect3DDevice8::DrawPrimitiveIDirect3DDevice8::SetStreamSourceプリミティブのレンダリング