我正在将 DirectX 9 程序移植到 DirectX 11。如何获取使用检索到的 DirectX 11 中的值
D3DCAPS9::MaxVertexIndex
在 DirectX 9 中?
提前致谢。
最佳答案
DirectX 11 使用“功能级别”以设定的阶梯方式捕获大量设备功能。您应该在 MSDN 上阅读有关功能级别的信息。在这个 blog发布。
功能级别 9.1 支持 16 位索引,功能级别 9.2 或更高版本支持 32 位索引。
MaxVertexIndex 本质上与 MSDN 功能级别表中的“最大基元计数”相同。
- 功能级别 9.1 要求 MaxVertexIndex >= 65534
- 功能级别 9.2 和 9.3 要求 MaxVertexIndex >= 1048575
- 功能级别 10.0 或更高版本将最大顶点索引定义为 完整 32 位(保留用于 strip 重新启动的 0xFFFFFFFF 值) 即4294967295
顺便说一句,除了定义的功能级别之外,硬件还可以公开一些可选功能,但整个生态系统中实际上只有几十个。对于大多数这些,您可以使用 CheckFeatureSupport。您可以使用 CheckFormatSupport 获取大量信息,但这里的大部分设置无论如何都严格由功能级别决定。请参阅MSDN DXGI 格式支持表。
关于directx - DirectX 11 相当于 DirectX 9 的 D3DCAPS9::MaxVertexIndex 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24800592/