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::DrawPrimitiveUPIDirect3DDevice9::SetStreamSourceプリミティブのレンダリング