IDirect3DDevice9::DrawIndexedPrimitive メソッド

IDirect3DDevice9::DrawIndexedPrimitive メソッド

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

構文

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

パラメータ

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

戻り値

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

失敗した場合の戻り値は次のとおり。

D3DERR_INVALIDCALL メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。

注意

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

MinIndex およびインデックス ストリームのすべてのインデックスは、 BaseVertexIndex と相対的である。

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

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

D3DPRIMITIVETYPE 列挙型の D3DPT_POINTLIST メンバはサポートされておらず、このメソッドの有効な型ではない。

従来の、固定機能を持つアプリケーションを Microsoft® DirectX® 9.0 に移行する際は、Draw 呼び出しを行う前に IDirect3DDevice9::SetFVF への呼び出しを追加する必要がある。

参照

IDirect3DDevice9::DrawPrimitiveIDirect3DDevice9::SetStreamSourceプリミティブのレンダリング