IDirect3DDevice9::DrawIndexedPrimitiveUP メソッド
IDirect3DDevice9::DrawIndexedPrimitiveUP メソッド
ユーザー メモリ ポインタで指定されているデータで、指定されているジオメトリ プリミティブをレンダリングする。
構文
HRESULT DrawIndexedPrimitiveUP(
D3DPRIMITIVETYPE PrimitiveType,
UINT MinVertexIndex,
UINT NumVertexIndices,
UINT PrimitiveCount,
const void *pIndexData,
D3DFORMAT IndexDataFormat,
CONST void* pVertexStreamZeroData,
UINT VertexStreamZeroStride
);
パラメータ
- PrimitiveType
[in] D3DPRIMITIVETYPE 列挙型のメンバ。レンダリングするプリミティブの種類を記述する。 - MinVertexIndex
[in] この呼び出しの間に使用される頂点群に対する、0 (pVertexStreamZeroData の開始位置) を基準とする最小の頂点インデックス。 - NumVertexIndices
[in] この呼び出しで使われる頂点の数 (MinVertexIndex から始まる)。 - PrimitiveCount
[in] レンダリングするプリミティブの数。使われるインデックスの数は、プリミティブ カウントの機能とプリミティブの種類である。プリミティブの許容最大数は、D3DCAPS9 構造体の MaxPrimitiveCount メンバをチェックして決定される。 - pIndexData
[in] インデックス データに対するユーザー メモリ ポインタ。 - IndexDataFormat
[in] D3DFORMAT 列挙型のメンバ。インデックス データのフォーマットを記述する。有効な設定は次のとおりである。D3DFMT_INDEX16
インデックスはそれぞれ 16 ビットである。D3DFMT_INDEX32
インデックスはそれぞれ 32 ビットである。
- pVertexStreamZeroData
[in] 頂点ストリーム 0 に使うための頂点データのユーザー メモリ ポインタ。 - VertexStreamZeroStride
[in] 各頂点のデータ間のストライド (バイト単位)。
戻り値
成功した場合は、D3D_OK を返す。
失敗した場合の戻り値は次のとおり。
D3DERR_INVALIDCALL | メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。 |
注意
このメソッドは、頂点データを頂点バッファに格納できないアプリケーションで使用する。
このメソッドは、単一の頂点ストリームだけをサポートする。これはストリーム 0 として宣言されなければならない。
IDirect3DDevice9::DrawIndexedPrimitiveUP の呼び出しの後、IDirect3DDevice9::GetStreamSource で参照されるストリーム 0 の設定は、NULL に設定される。また、IDirect3DDevice9::SetIndices に対するインデックス バッファの設定も、NULL に設定される。
IDirect3DDevice9::DrawIndexedPrimitiveUP に渡す頂点データは、呼び出しの後も保持する必要はない。Microsoft® Direct3D® は、呼び出しから戻る前に、そのデータへのアクセスを完了する。
従来の、固定機能を持つアプリケーションを Microsoft DirectX® 9.0 に移行する際は、Draw 呼び出しを行う前に IDirect3DDevice9::SetFVF への呼び出しを追加する必要がある。
参照
IDirect3DDevice9::DrawPrimitiveUP、IDirect3DDevice9::SetStreamSource、プリミティブのレンダリング