什么是学习DirectX技术的最佳资源

问题描述:

我是计算机工程师。我想学习DirectX。我的问题是从头开始学习DirectX的好的资源或书籍是什么。它的先决条件是什么,并且熟悉学习DirectX所需的组件对象模型。 - 谢谢。什么是学习DirectX技术的最佳资源

您还没有指定是否要使用C/C++或一些.NET语言(如VB或C#)。

如果你想使用C++,我的建议是从DirectX Tool Kit tutorials开始。另见Getting Started with Direct3D 11

如果你想使用托管语言,那么SlimDXSharpDX是一个合理的开始。

Direct3D是“COM lite”。它基本上使用IUnknown作为引用计数,并且有几个方面使用了QueryInterface的多态性,但基本上,您需要使用COM的所有内容都可以通过Microsoft::WRL::ComPtr智能指针(至少在C++中)很好地处理。

+0

非常感谢您的回答!现在我正打算在C/C++中开始Dir​​ectX的工作。 –

首先下载DirectX SDK并播放示例,阅读MSDN docs ....始终阅读MSDN文档,因为我总是发现tid位有助于沿途。

下载NVIDA样品,并检查了AMD的gpuopen.com

阅读Funks Luna的书,你可以找到他们here

但最重要的是刚刚开始的代码打,让你的脚湿和跳跃英寸 从XNA来到DirectX 11后,我花了2年的时间才得到了DirectX 11的好处,但没有编程经验,所以对我来说这是一条艰难的道路,但是您是计算机工程师,所以我相信您会更快地接受我。

找到你想要做的事情,这个想法让你感到所有的温暖和模糊,所以你有驱动器继续前进。

至于先决条件\熟练程度我使用SharpDX,所以它在C++中有点不同。

+0

DirectX SDK已弃用。你可以使用它与一些警告,但你不应该。请参阅[DirectX SDK在哪里?](https://msdn.microsoft.com/en-us/library/windows/desktop/ee663275.aspx)。弗兰克的书很好,但是它早于旧版DirectX SDK的弃用,所以它已经过时了w.r.t.到实用程序代码的细节。有关注释,请参阅[书籍建议](https://blogs.msdn.microsoft.com/chuckw/2014/04/07/book-recommendations/)。 –

+0

但是,关于SDK是它的最好的地方之一,我不直接使用这些代码,但是我看看有些事情是如何完成的,我和法兰克斯的书一样。我使用SharpDX,所以对我来说它更加不同。如果你问我SDK充满了有用的东西。我将我的动态多维数据集映射器从SDK代码中移出。我甚至不得不为新的dx数学库编写我自己的包装,所以我可以使用立方体映射到球面谐波路径。 –

+0

传统的DirectX SDK充满了有用的东西,这就是为什么我已经工作了6年,从遗留的DirectX SDK中获得最好的东西,并转换成仅用于Windows 8 SDK/Windows 10 SDK 。 [DirectXMath](https://github.com/Microsoft/DirectXMath)仅在Windows 8 SDK/Windows 10 SDK中,旧版DirectX SDK具有较旧的XNAMath。 –