gpt4 book ai didi

c++ - d3d 11 是否向后兼容 d3d10 和 d3d9?

转载 作者:搜寻专家 更新时间:2023-10-31 00:43:43 26 4
gpt4 key购买 nike

我提交的问题实际上是一堆问题合二为一,因此我将按照要求将它们拆分成各自独立的问题。

只是一个关于 direct3D 的一般性问题,如果我要使用 hlsl 5.0 着色器完全在 d3d11 中编写应用程序,这些应用程序是否仍仅与支持 d3d10 或 d3d9 的系统兼容,只是图形效果和 d3d11 的效率较低?如果是这样,效率会降低多少?如果不是,除了使用 d3d9、d3d10 和 d3d11 之外,我真的需要为完全相同的程序制作 2 或 3 个不同版本吗?

最佳答案

它在一定程度上是向后兼容的。然而,有几件事要记住:

  • DX11 只能安装在 Vista+ 上,这排除了那些出于宗教原因仍然坐在 XP 上的人(我个人认为这是愚蠢的,但这只是一个你必须意识到的事实)
  • DX11 的 killer 级功能(硬件曲面 segmentation )仅适用于兼容 DX11 的硬件。相信我——你真的很难不去使用它,因为它给了你很多可能性。这可以通过使用几何着色器进行一定程度的补偿,但是......请看下一点
  • 几何着色器只能在 DX10.0 级硬件(或更好)上使用。所以 DX9 级 HW 不等式……再次……
  • 计算着色器在 DX10.0+ 级硬件上有些可用(虽然非常有限),但对于早期硬件完全不可用。

总而言之,如果您的目标平台是 DX10.0+ 级硬件,则使用 DX11 在某种程度上是有意义的(因为除了 HW tesselation 之外,差异是可以容忍的和/或缺少功能的解决方法)。如果您想支持 DX9 HW,我建议您坚持使用 DX9 SDK,因为这将允许您在 XP 上运行您的应用程序。

关于c++ - d3d 11 是否向后兼容 d3d10 和 d3d9?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10193774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com