我尝试使用 C++ 在 DirectX11 中绘制一个 100x100 的网格,但出现了以下问题:
上图显示了我使用线框绘制的网格,使用了填充模式设置为“D3D11_FILL_WIREFRAME”和“D3D11_PRIMITIVE_TOPOLOGY_LINELIST”拓扑的光栅器。线框的线条看起来交错而不是笔直,线框的某些部分缺失。
由于我不确定这个问题指的是什么,我也不完全确定我应该寻找什么,因此,我们将不胜感激任何帮助。
最佳答案
这是“别名”的经典问题。
对于 Direct3D 11,您可以使用 MSAA(一种通用的抗锯齿选项),或者如果您不使用 MSAA,则可以使用特定的线算法。参见 D3D11_RASTERIZER_DESC AntialiasedLineEnable
和 MultisampleEnable
。
参见 Aliasing和 Multisample anti-aliasing
更新:我已将 MSAA 和 AA 模式添加到 DirectX 工具包 tutorial .
关于c++ - DirectX11 非实体线框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33598243/