IDirect3DDevice9::SetStreamSource

頂点バッファーをデバイスのデータ ストリームにバインドします。詳細については、「ストリーム ソースの設定 (Direct3D 9)」を参照してください。

HRESULT 
SetStreamSource(
  UINT StreamNumber,
  IDirect3DVertexBuffer9 * pStreamData,
  UINT OffsetInBytes,
  UINT Stride
);

パラメータ

  • StreamNumber
    0 から最大ストリーム数 -1 までの範囲内で、データ ストリームを指定します。
  • pStreamData
    指定されたデータ ストリームにバインドする頂点バッファーを表す IDirect3DVertexBuffer9 インターフェイスへのポインター
  • OffsetInBytes
    ストリームの先頭から頂点データの先頭までのオフセット (バイト単位)。デバイスがストリーム オフセットをサポートするかどうかを判定するには、D3DDEVCAPS2 の D3DDEVCAPS2_STREAMOFFSET 定数を確認します。
  • Stride
    コンポーネントのストライド (バイト単位)。「解説」を参照してください。

戻り値

メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、D3DERR_INVALIDCALL を返します。

解説 

FVF 頂点シェーダーが使用されている場合、頂点ストリームのストライドは FVF で計算された頂点サイズと一致する必要があります。宣言を使用するときは、ストライドは宣言で計算されたストリーム サイズ以上にする必要があります。

SetStreamSource を呼び出すときは、通常、ストライドは頂点サイズに等しいことが必要です。ただし、同じまたは同様のジオメトリの複数のインスタンスを描画したい場合があります (描画するインスタンスの使用時など)。このような場合は、ストライドにゼロを使用して、頂点バッファーのオフセットがランタイムによって増分されないようにします (つまり、すべてのインスタンスで同じ頂点データを使用します)。インスタンス化の詳細については、「複数のジオメトリのインスタンスの効率的な描画 (Direct3D 9)」を参照してください。

要件

ヘッダー: D3D9.h 宣言

ライブラリ: D3D9.lib 内容

関連項目

IDirect3DDevice9::GetStreamSource, IDirect3DDevice9::DrawIndexedPrimitive, IDirect3DDevice9::DrawIndexedPrimitiveUP, IDirect3DDevice9::DrawPrimitive, IDirect3DDevice9::DrawPrimitiveUP, 頂点バッファー (Direct3D 9)