IDirect3DDevice9::SetStreamSource メソッド (d3d9helper.h)
頂点バッファーをデバイス データ ストリームにバインドします。 詳細については、「Stream ソースの設定 (Direct3D 9)」を参照してください。
構文
HRESULT SetStreamSource(
[in] UINT StreamNumber,
[in] IDirect3DVertexBuffer9 *pStreamData,
[in] UINT OffsetInBytes,
[in] UINT Stride
);
パラメーター
[in] StreamNumber
型: UINT
データ ストリームを 0 からストリームの最大数 -1 までの範囲で指定します。
[in] pStreamData
指定したデータ ストリームにバインドする頂点バッファーを表す IDirect3DVertexBuffer9 インターフェイスへのポインター。
[in] OffsetInBytes
型: UINT
ストリームの先頭から頂点データの先頭までのオフセット (バイト単位)。 デバイスがストリーム オフセットをサポートしているかどうかを確認するには、D3DDEVCAPS2の D3DDEVCAPS2_STREAMOFFSET 定数を参照してください。
[in] Stride
型: UINT
コンポーネントのストライド (バイト単位)。 「解説」を参照してください。
戻り値
種類: HRESULT
メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合は、戻り値をD3DERR_INVALIDCALLできます。
注釈
FVF 頂点シェーダーを使用する場合、頂点ストリームのストライドは、FVF から計算された頂点サイズと一致する必要があります。 宣言を使用する場合、ストライドは、宣言から計算されたストリーム サイズ以上である必要があります。
SetStreamSource を呼び出すとき、ストライドは通常、頂点サイズと等しい必要があります。 ただし、同じジオメトリまたは類似したジオメトリの複数のインスタンスを描画したい場合があります (インスタンス化を使用して描画する場合など)。 この場合は、ゼロストライドを使用して、頂点バッファー オフセットをインクリメントしないようにランタイムに指示します (つまり、すべてのインスタンスに同じ頂点データを使用します)。 インスタンス化の詳細については、「 ジオメトリの複数インスタンスを効率的に描画する (Direct3D 9)」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d9helper.h (D3D9.h を含む) |
Library | D3D9.lib |
こちらもご覧ください
IDirect3DDevice9::DrawIndexedPrimitive
IDirect3DDevice9::DrawIndexedPrimitiveUP
IDirect3DDevice9::DrawPrimitive
IDirect3DDevice9::DrawPrimitiveUP