问题 2013年学习DirectX [关闭]


我知道有关于这个问题的几个主题,但我想指明我想要的东西。

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

如果DirectX存在这样的术语,我感兴趣。

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

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

DirectX9是不是被弃用的OpenGL?所以如果我学习DirectX9而不是11,那是浪费时间还是可用? 换一种说法。 DirectX9是否提供现代OpenGL提供的功能?

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

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

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

总而言之,我需要一些帮助,我真的无法想象一下走哪条路。

我希望你能得到我的观点。


4342
2018-03-06 19:07


起源



答案:


我建议你下载 DirectX SDK 2010年6月

DirectX允许您在创建设备时选择要使用的DirectX版本,因此不必担心。

这是在 D3D11CreateDeviceAndSwapChain 在里面 D3D_FEATURE_LEVEL

指向D3D_FEATURE_LEVEL数组的指针,用于确定顺序   尝试创建的功能级别。

我建议你做的是下载2010年6月的DirectX SDK并查看一些随附的样本。你应该决定如何前进。

对于我推荐的书籍 使用DirectX 11进行3D游戏编程简介 要么 DirectX 10 要么 Directx 9。哪个版本你决定使用。


8
2018-03-06 19:18



我将使用本书的9.0c版本。也许不是最专业的选择,但无论如何我都不会瞄准高端图形,所以9.0c应该可以胜任。 - DonCalito


答案:


我建议你下载 DirectX SDK 2010年6月

DirectX允许您在创建设备时选择要使用的DirectX版本,因此不必担心。

这是在 D3D11CreateDeviceAndSwapChain 在里面 D3D_FEATURE_LEVEL

指向D3D_FEATURE_LEVEL数组的指针,用于确定顺序   尝试创建的功能级别。

我建议你做的是下载2010年6月的DirectX SDK并查看一些随附的样本。你应该决定如何前进。

对于我推荐的书籍 使用DirectX 11进行3D游戏编程简介 要么 DirectX 10 要么 Directx 9。哪个版本你决定使用。


8
2018-03-06 19:18



我将使用本书的9.0c版本。也许不是最专业的选择,但无论如何我都不会瞄准高端图形,所以9.0c应该可以胜任。 - DonCalito


我不会尝试使用没有硬件支持的CPU对DirectX 11进行编码。这将是一次愉快的经历。相反,我要么购买新的显卡(不一定非常昂贵),要么购买DirectX 9中的代码。

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


2
2018-03-06 19:31