IDirect3DDevice9::SetStreamSource 方法 (d3d9helper.h)

將頂點緩衝區系結至裝置數據流。 如需詳細資訊,請參閱設定 Stream Source (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 時,通常必須等於頂點大小。 不過,有時候您可能會想要繪製相同或類似幾何 (的多個實例,例如使用實例繪製) 時。 在此情況下,請使用零步距,告知運行時間不要遞增頂點緩衝區位移 (例如:對所有實例使用相同的頂點數據) 。 如需實例的詳細資訊,請參閱 有效率地繪製 Geometry (Direct3D 9) 的多個實例

規格需求

需求
目標平台 Windows
標頭 d3d9helper.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9

IDirect3DDevice9::DrawIndexedPrimitive

IDirect3DDevice9::DrawIndexedPrimitiveUP

IDirect3DDevice9::DrawPrimitive

IDirect3DDevice9::DrawPrimitiveUP

IDirect3DDevice9::GetStreamSource

(Direct3D 9) 頂點緩衝區