Microsoft DirectX 8.0 (C++)

IDirect3DDevice8::DrawIndexedPrimitiveUP

ユーザー メモリ ポインタで指定されているデータで、指定されているジオメトリ プリミティブをレンダリングする。

HRESULT DrawIndexedPrimitiveUP(
  D3DPRIMITIVETYPE PrimitiveType,
  UINT MinIndex,
  UINT NumVertices,
  UINT PrimitiveCount,
  CONST void* pIndexData,
  D3DFORMAT IndexDataFormat,
  CONST void* pVertexStreamZeroData,
  UINT VertexStreamZeroStride
);

パラメータ

PrimitiveType
[in] D3DPRIMITIVETYPE 列挙型のメンバ。レンダリングするプリミティブの種類を記述する。
MinIndex
[in] この呼び出しの間に使用される頂点群に対する、0 (pIndexData の開始位置) を基準とする最小の頂点インデックス。
NumVertices
[in] この呼び出しで使用される頂点の数 (MinIndex. から始まる)。
PrimitiveCount
[in] レンダリングするプリミティブの数。使用されるインデックスの数は、プリミティブ カウントの機能とプリミティブの種類である。プリミティブの許容最大数は、D3DCAPS8 構造体の MaxPrimitiveCount メンバをチェックして決定される。
pIndexData
[in] インデックス データに対するユーザー メモリ ポインタ。
IndexDataFormat
[in] インデックス データのフォーマットを示す D3DFORMAT 列挙型のメンバ。有効な設定は次のとおりである。
D3DFMT_INDEX16
インデックスはそれぞれ 16 ビットである。
D3DFMT_INDEX32
インデックスはそれぞれ 32 ビットである。
pVertexStreamZeroData
[in] 頂点ストリームをゼロにするために使用する頂点データのユーザー メモリ ポインタ。
VertexStreamZeroStride
[in] 各頂点のデータ間のストライド (バイト単位)。

戻り値

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

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

注意

このメソッドは、頂点データを頂点バッファに格納できないアプリケーションで使用する。このメソッドは単一の頂点ストリームのみをサポートする。この呼び出しは、頂点ストリームに提供された頂点データのポインタとストライドをゼロにする。ストリーム ゼロ以外の頂点ストリームを参照するカレント頂点シェーダを宣言することはできない (or を宣言するとエラーとなる)。

DrawIndexedPrimitiveUP の呼び出しの後、IDirect3DDevice8::GetStreamSource で参照されるストリーム ゼロの設定は、NULL に設定される。また、IDirect3DDevice8::SetIndices に対するインデックス バッファの設定も、NULL に設定される。

DrawIndexPrimitiveUP に渡される頂点データは呼出し後に存続する必要はない。Direct3D は呼び出しから戻った時点でそのデータへのアクセスを完了している。

動作環境

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

参照

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