IDirect3DDevice9::P rocessVertices メソッド (d3d9.h)
頂点シェーダーによって定義された頂点処理を入力データ ストリームのセットに適用し、インターリーブされた頂点データの単一ストリームを宛先の頂点バッファーに生成します。
構文
HRESULT ProcessVertices(
[in] UINT SrcStartIndex,
[in] UINT DestIndex,
[in] UINT VertexCount,
[in] IDirect3DVertexBuffer9 *pDestBuffer,
[in] IDirect3DVertexDeclaration9 *pVertexDecl,
[in] DWORD Flags
);
パラメーター
[in] SrcStartIndex
型: UINT
読み込む最初の頂点のインデックス。
[in] DestIndex
型: UINT
結果の配置先の頂点バッファー内の最初の頂点のインデックス。
[in] VertexCount
型: UINT
処理する頂点の数。
[in] pDestBuffer
インターリーブされた頂点データのストリームを表す宛先頂点バッファーである IDirect3DVertexBuffer9 インターフェイスへのポインター。
[in] pVertexDecl
種類: IDirect3DVertexDeclaration9*
出力頂点データ宣言を表す IDirect3DVertexDeclaration9 インターフェイスへのポインター。 頂点シェーダー 3.0 以上が現在の頂点シェーダーとして設定されている場合は、出力頂点宣言が存在する必要があります。
[in] Flags
型: DWORD
処理オプション。 既定の処理では、このパラメーターを 0 に設定します。 D3DPV_DONOTCOPYDATAに設定すると、頂点操作の影響を受けなかった頂点データがコピー先バッファーにコピーされなくなります。 D3DPV_DONOTCOPYDATA値は、宛先バッファーに適した 1 つ以上の D3DLOCK 値と組み合わせることができます。
戻り値
型: HRESULT
メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合は、戻り値をD3DERR_INVALIDCALLできます。
解説
このメソッドの操作の順序は次のとおりです。
- ワールド + ビュー + プロジェクション マトリックスを使用して、頂点を投影空間に変換します。
- ビューポート設定を使用して画面座標を計算します。
- クリッピングが有効になっている場合は、クリッピング コードを計算し、ターゲット頂点バッファーに関連付けられている内部バッファーに格納します。 頂点が視錐台の内側にある場合、その画面座標が計算されます。 頂点が視錐台の外側にある場合、頂点は投影空間座標の宛先頂点バッファーに格納されます。
- その他の注意事項: ユーザーは内部クリップ コード バッファーにアクセスできません。 三角形やその他のプリミティブではクリッピングは行われません。
Direct3D がテクスチャ座標を生成するか、入力テクスチャ座標をコピーまたは変換し、出力テクスチャ座標形式で Direct3D が生成するよりも多くのテクスチャ座標コンポーネントを定義する場合、Direct3D はこれらの追加のコンポーネントを変更しません。
要件
対象プラットフォーム | Windows |
ヘッダー | d3d9.h (D3D9.h を含む) |
Library | D3D9.lib |