- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个(某种程度上)基于 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/
我正在细读 http://www.khronos.org/网站,只找到了 OpenCL 的头文件(不是我不关心的 OpenGL)。如何获取 OpenCL SDK? 最佳答案 AMD 的 ATI Str
Android 项目中最低(最低 sdk)和最高(目标 sdk)级别是否有任何影响。这些东西是否会影响项目的可靠性和效率。 最佳答案 没有影响,如果您以 SDK 级别 8 为目标,那么您的应用将以 9
“min sdk version/target sdk version”和“compile sdk version”有什么区别?我知道 min 和 target sdk 是什么意思,但是 compil
我正在尝试运行 Dji Mobile-Sdk-Android:https://github.com/dji-sdk/Mobile-SDK-Android使用 dji 网站上的说明:https://de
我目前正在向我的 iPhone 应用程序添加新的 Facebook iOS sdk 3.1.1。我看到 sdk 有重大变化。例如。我的旧 sdk 创建一个 Facebook 对象并从 FBReques
我最近刚刚下载了 Xcode 4.6 with mac 10.8.4 with iOS 6.0 SDK package,我立即注意到我无法使用我的 iPhone 3Gs with iOS 4.6 进行
我尝试下载 OpenCL SDK。但是没办法。我有一个 AMD GPU,所以我在谷歌上搜索了 AMD SDK,但是来自谷歌的所有链接和一些教程都被破坏了,不可能通过 AMD 开发者网站找到 sdk。
安装 Google Cloud SDK 后,当我运行时 gcloud 授权登录 我收到一条错误消息: Your browser has been opened to visit: https://a
我一直在 nvidia 网站上搜索 GPU 计算 SDK,因为我正在尝试构建具有 cuda 支持的点云库 (PCL)。但是,在 nvidia 网站上,我只能找到工具包的链接,而不是 SDK 的单个下载
Closed. This question needs to be more focused。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅关注editing this post一个问题。 2
当我打开 Android SDK 管理器时,会出现一个屏幕“选择要安装的包”。它列出了一堆带有绿色复选标记(已经安装)的软件包,还有一些带有 x's 的软件包,它们没有安装。如果我选择“全部接受”,它
在开发过程中,我发布了 SDK 21 Lollipop,但我无法在我的 KitKat 设备上使用它。应用程序非常简单,我只将 SDK 用于动画和 Material 设计,但是当我尝试对 Play 商店
enter image description here friend 们好 在使用 Linux、jenkins 和 docker 探索 dotnet 核心时,我遇到了构建问题,该问题在标题“/usr
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我创建了一个flutter项目,运行flutter packages get,输出如下:【二】flutter包搞定等待另一个 flutter 命令释放启动锁...第二次运行“flutter packa
这个问题在这里已经有了答案: What are the Android SDK build-tools, platform-tools and tools? And which version sh
我使用 Corona SDK 已经快一年了,并且开发了几个简单的游戏。我现在正在寻找的是在 Corona SDK 中创建 3D 幻觉的某种方法。如果有人有 Corona 3D 方面的经验,我将不胜感激
我有一个CLDC 1.1 / MIDP 2.0项目,可以使用Java ME SDK 3.2很好地进行编译。 最近,我已将Java SE升级到8,结果Java ME SDK开始在Windows启动时显示
有没有办法以编程方式控制连接到华擎主板的 RGB 照明?我知道华硕有一个 Aura SDK,但华擎是否也有一个用于他们的硬件? 如果是,我在哪里可以找到它? 最佳答案 没有用于华擎多彩的 sdk。但是
如何使用 crm 2011 sdk 和 XrmServiceContext 创建事务? 在下一个示例中,'new_brand' 是一些自定义实体。我想创建三个品牌。第三个拥有错误的 OwnerID g
我是一名优秀的程序员,十分优秀!