directx - DirectX 11 相当于 DirectX 9 的 D3DCAPS9::MaxVertexIndex 是什么

标签 directx directx-11 directx-9

我正在将 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/

相关文章:

c++ - 是否有任何 DirectX 11 (HLSL 5.0) 等同于 DirectX 9 纹理 "string function"语法?

directx - Directx 9 CPU 使用率非常高

c++ - DirectX 10 将文本绘制到纹理

c++ - 如何从 OBJ 文件中正确读取信息并使用它来渲染带有 DirectX 11 的模型

c# - DirectX 教程/书籍

c++ - 将自定义矩阵转换为 float *

c++ - 我的渲染图像和纹理渲染在宽度和高度上都丢失了一个像素

windows - DirectX 11 视频播放

visual-studio-2017 - 如何在 visual studio 中多次编译 hlsl 着色器?

c++ - DirectX9 C++ - 在窗口最小化时加载纹理