gpt4 book ai didi

c++ - DirectX SDK 与 Windows SDK : which one to use?

转载 作者:可可西里 更新时间:2023-11-01 15:09:05 26 4
gpt4 key购买 nike

我有一个(某种程度上)基于 DirectX 10 的旧游戏引擎,我一直计划将其迁移到 DX 11。我还刚刚安装了 Windows 8 和 VS 2013,在尝试运行这个旧项目时,我了解到DirectX SDK has been deprecated现在被 Windows 8 SDK 取代。在这种情况下,我想知道更新到 DX 11 是否有意义,还是我应该尝试让我的引擎使用新的 Windows 8 SDK。在做出决定之前,我想知道几件事:

1) Windows 8 SDK 是现在要学习的东西还是 DX 11 仍然相关?比如,如果你想学习 C++,你应该学习 C++11,那么如果你现在想学习 Direct3D,你应该学习 Windows 8 SDK?

2)学习DirectX SDK有很多很棒的资源:很多教程,微软自己的samples , NVidia Graphics SDK samples , AMD Radeon SDK samples等。目前是否有任何类似质量的 Material 可用于 Windows 8 的 Direct3D 或仅 msdn?

3) 我的基于 Windows 8 SDK 的引擎只能在 Windows 8 上运行吗?

4) 两者之间有任何第一手经验/比较吗?

非常感谢!

最佳答案

1) Is Windows 8 SDK the thing to learn now or is DX 11 still relevant?

到底发生了什么:他们弃用了独立 DirectX SDK 中的一些内容,将其剥离了一点并合并到 Windows SDK 中。还重命名了一些标题。这一切。没什么可学的。

实际上,您必须忘记(即忘记)一些事情。值得注意的是 D3DX、Effect 框架等。由于它们已从新 SDK 中剥离,您需要找到替代库来替换它们(例如,Effect11 源可用;对于位图加载,使用 DirectXTK 或 FreeImage;对于网格,使用 Assimp;找到或推出您自己的 Sprite 和字体引擎等)。

好吧,不得不说,他们已经添加了 DirectX 11.1 (Win8) 和 11.2 (Win8.1)。但是,它们的功能太小而且非常具体,不能说您必须学习它。

2) There are plenty of great resources for learning DirectX SDK [...] Are there any similar quality materials available for Windows 8's Direct3D or just msdn at the moment?

有一个新的set of samples on MSDN ,例如Windows 应用商店应用示例。它们都与其他(非 DirectX)Windows SDK 示例混淆,因此请使用搜索。由于 API 本身保持不变,因此桌面应用程序并没有真正的新内容。通过替换已弃用的内容,您可以轻松调整旧示例以在没有独立 DirectX SDK 的情况下构建。

3) Will my Windows 8 SDK based engine run only on Windows 8?

不,使用此 SDK,您可以针对从 Windows XP 开始的任何内容。但是您移植到 DirectX 11 API,这意味着您的应用程序至少需要 Vista SP2。您可以保留没有 SP 目标的 Vista 的 DirectX 10 代码。要在 Win XP 下运行,您将需要 DirectX 9 代码路径。或者在所有情况下当然是 OpenGL ;)

4) Any first hand experience / comparisons between the two?

嗯,Microsoft 的弃用风格和毫无收获的四处移动有时令人沮丧。但是我们已经习以为常了。

从 DirectX 10 移植到 DirectX 11 API 是 really straightforward .但是移植扩展的东西,比如 D3DX 是一件痛苦的事情:看我的回答 here一些有用的链接。

我个人的观点是,您不能依赖 Microsoft 的辅助库,因为它们可能会在最糟糕的时刻被弃用和删除。但是你的解决方案他们不会。所以如果你有基于 FreeImage 或你自己的库的纹理加载器,你就有一个指向位图数据的指针并且可以在任何地方使用它:DirectX,OpenGL,直接将它 blit 到窗口,无论你想要什么。如果您拥有自己的着色器效果引擎,您将永远不会遇到无法在 Windows 应用商店应用程序中使用自己的效果框架的麻烦。

我倾向于在任何地方只使用 Microsoft 的核心 API,而将通用的、可移植的第三方库用于其他任何东西:这减少了耦合和对一个人的决定的依赖,并提供了更多的自由。因此,如果一个库损坏,我不需要重写所有库。

关于c++ - DirectX SDK 与 Windows SDK : which one to use?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20362041/

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