D3DHAL_DP2SETSTREAMSOURCE 结构 (d3dhal.h)

仅限 DirectX 8.0 及更高版本。

D3DHAL_DP2SETSTREAMSOURCE 结构用于将顶点流源绑定到 D3dDrawPrimitives2 的顶点缓冲区。

语法

typedef struct _D3DHAL_DP2SETSTREAMSOURCE {
  DWORD dwStream;
  DWORD dwVBHandle;
  DWORD dwStride;
} D3DHAL_DP2SETSTREAMSOURCE;

成员

dwStream

指定要绑定的流。 它具有一个介于零和驱动程序指定的最大流数之间的值。

dwVBHandle

指定顶点缓冲区句柄。 顶点缓冲区句柄为零是合法的,在这种情况下,流不再绑定到顶点缓冲区。

dwStride

指定顶点大小(以字节为单位)。

注解

驱动程序通过新的 DP2 令牌(D3DDP2OP_SETSTREAMSOURCE)收到将顶点缓冲区绑定到特定流的通知。

调试运行时验证 dwStream 是否在法定范围内,但零售版本不在法定范围内,因此驱动程序中必须存在验证。 DirectX 8.0 未定义驱动程序或硬件在错误情况下的行为,即给定的流索引大于硬件 (在 D3DCAPS8) 中通过 MaxStreams 报告的最大流,此外还要求驱动程序和硬件组合在这种情况下不会发生故障或挂起, 恢复正确状态时,驱动程序和硬件组合应继续正常运行。 显示驱动程序的调试版本应在调试输出流中显示消息,指示何时检测到此问题。

运行时不会验证当前顶点着色器访问的流是否为非 NULL。 驱动程序编写者负责确保在出现此错误时驱动程序/硬件不会崩溃。 显示驱动程序的调试版本应在调试输出流中显示消息,以指示何时检测到此问题。

只有一个流源由 D3DHAL_DP2COMMAND 结构设置。 也就是说,D3DDP2OP_SETSTREAMSOURCE bCommand 时,D3DHAL_DP2COMMAND的 wStateCount 字段始终为一个。

要求

要求
Header d3dhal.h (包括 D3dhal.h)

另请参阅

D3DDP2OP_SETSTREAMSOURCE

D3DHAL_DP2COMMAND

D3DHAL_DP2SETSTREAMSOURCEUM

D3dDrawPrimitives2