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 时,步幅通常需要等于顶点大小。 但是,有时可能需要绘制相同或类似几何图形 (的多个实例,例如使用实例绘制) 。 对于这种情况,请使用零步幅告知运行时不要递增顶点缓冲区偏移量 (即:对) 的所有实例使用相同的顶点数据。 有关实例化的详细信息,请参阅 高效绘制几何图形的多个实例 (Direct3D 9) 。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3d9helper.h (包括 D3D9.h) |
Library | D3D9.lib |
另请参阅
IDirect3DDevice9::DrawIndexedPrimitive
IDirect3DDevice9::DrawIndexedPrimitiveUP
IDirect3DDevice9::DrawPrimitive
IDirect3DDevice9::DrawPrimitiveUP