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 介面的指標,代表要系結至指定數據流的頂點緩衝區。
[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::DrawIndexedPrimitive
IDirect3DDevice9::DrawIndexedPrimitiveUP
IDirect3DDevice9::DrawPrimitive
IDirect3DDevice9::DrawPrimitiveUP