IDirect3DDevice9::DrawIndexedPrimitiveUP
ユーザー メモリー ポインターによって指定されたデータで、指定したジオメトリ プリミティブをレンダリングします。
HRESULT
DrawIndexedPrimitiveUP(
D3DPRIMITIVETYPE PrimitiveType,
UINT MinVertexIndex,
UINT NumVertices,
UINT PrimitiveCount,
CONST void * pIndexData,
D3DFORMAT IndexDataFormat,
CONST void* pVertexStreamZeroData,
UINT VertexStreamZeroStride
);
パラメータ
- PrimitiveType
D3DPRIMITIVETYPE 列挙型のメンバー。レンダリングするプリミティブの種類を記述します。 - MinVertexIndex
最小の頂点インデックス。このインデックスは 0 から始まります。 - NumVertices
この呼び出し中に使用される頂点の数。最初の頂点は、次の位置にあります。MinVertexIndex。 - PrimitiveCount
レンダリングするプリミティブの数。最大許容プリミティブ数は、D3DCAPS9 構造体の MaxPrimitiveCount メンバーをチェックして判定します (インデックスの数はプリミティブ カウントとプリミティブ タイプの関数です)。 - pIndexData
インデックス データへのユーザー メモリー ポインター。 - IndexDataFormat
D3DFORMAT 列挙型のメンバー。インデックス データのフォーマットを指定します。有効な設定は次のとおりです。- D3DFMT_INDEX16
- D3DFMT_INDEX32
- pVertexStreamZeroData
頂点データへのユーザー メモリー ポインター。頂点データはストリーム 0 にある必要があります。 - VertexStreamZeroStride
頂点ごとのデータのバイト数。この値は 0 であってはなりません。
戻り値
メソッドが成功した場合は、D3D_OK を返します。メソッドが失敗した場合は、次の値を返します。D3DERR_INVALIDCALL
解説
このメソッドは、頂点データを頂点バッファーに格納できないアプリケーションで使用するために用意されたものです。このメソッドは、単一の頂点ストリームだけをサポートします。これはストリーム 0 として宣言される必要があります。
IDirect3DDevice9::DrawIndexedPrimitiveUP の呼び出しの後、IDirect3DDevice9::GetStreamSource で参照されたストリーム 0 の設定は NULL に設定されます。また、IDirect3DDevice9::SetIndices のインデックス バッファーの設定も NULL に設定されます。
IDirect3DDevice9::DrawIndexedPrimitiveUP に渡す頂点データは、呼び出しの後も保持する必要はありません。Direct3D は、呼び出しから戻る前に、そのデータへのアクセスを完了します。
レガシ アプリケーションを Direct3D 9 に変換するときは、IDirect3DDevice9::SetFVF への呼び出しを追加して固定機能パイプラインを使用するか、IDirect3DDevice9::SetVertexDeclaration への呼び出しを追加して、Draw を呼び出す前に頂点シェーダーを使用する必要があります。
要件
ヘッダー: D3D9.h 宣言
ライブラリ: D3D9.lib 内容
関連項目
頂点バッファーとインデックス バッファーからのレンダリング (Direct3D 9), IDirect3DDevice9::DrawPrimitive