Learning DirectX in 2013

Learning DirectX in 2013

本文关键字:2013 in DirectX Learning      更新时间:2023-10-16

我知道关于这个问题有很多话题,但我想具体说明我在寻找什么。

所以我学习了OpenGL,并获得了着色器(可编程管道),顶点缓冲,索引缓冲的基础知识,所有这些都被称为"现代OpenGL"。

我对DirectX是否存在这样的术语很感兴趣。

关于选择哪个DirectX版本有几种意见。9可以在几乎所有的Windows电脑上运行,而11仅限于较新的gpu和Windows Vista+。

我的GPU支持9,而我的操作系统支持11。我应该选择软件加速还是硬件加速?

DirectX9是类似于弃用的OpenGL?所以如果我学习DirectX9而不是11,它是浪费时间还是有用?换句话说。DirectX9是否提供了现代OpenGL提供的功能?

如果是这样,我应该使用哪些来源(教程/书籍/视频)来获得在DirectX中使用着色器,缓冲区等的基本技能?例如,在一个教程中,我发现了这一行:d3dDevice -> BeginScene ();它让我想起了被弃用的OpenGL。我不想学习最先进的DirectX,但我想在兼容性和现代概念之间做一个很好的交易。

在另一个线程中,我发现了这本书:http://www.amazon.com/dp/1598220160/?tag=stackoverfl08-20

但是我有点害怕如果我把时间浪费在废弃的旧东西上。

总之,我需要一些帮助,我真的不知道该走哪条路。

我希望你明白我的意思。

我建议您下载DirectX SDK 2010年6月。

DirectX允许你在创建设备时选择你想要使用的DirectX版本,所以不用担心。

这是在D3D_FEATURE_LEVEL中的D3D11CreateDeviceAndSwapChain中完成的。

指向D3D_FEATURE_LEVELs数组的指针,D3D_FEATURE_LEVELs决定了顺序要尝试创建的功能级别。

我建议你做的是下载DirectX SDK 2010年6月,并检查它附带的一些示例。然后你应该决定你想如何前进。

对于书籍,我会推荐使用DirectX 11或DirectX 10或DirectX 9的3D游戏编程入门。无论你决定使用哪个版本

我不会尝试使用没有硬件支持的CPU来编码DirectX 11。这将是一次愉快的经历。相反,我要么买一个新的显卡(不必很贵),要么在DirectX 9中编写代码。

在DirectX 9中编码的背面是它与10/11非常不同。所以,如果你有一天想学习10/11,除了真正的基础知识,学习9对你真的没有多大帮助。