次の方法で共有


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*

指定したデータ ストリームにバインドする頂点バッファーを表す 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

IDirect3DDevice9::DrawIndexedPrimitive

IDirect3DDevice9::DrawIndexedPrimitiveUP

IDirect3DDevice9::DrawPrimitive

IDirect3DDevice9::DrawPrimitiveUP

IDirect3DDevice9::GetStreamSource

頂点バッファー (Direct3D 9)