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