我知道有关于这个问题的几个主题,但我想指明我想要的东西。
所以我学习了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
但是,如果我把时间浪费在被弃用的旧东西上,我有点害怕。
总而言之,我需要一些帮助,我真的无法想象一下走哪条路。
我希望你能得到我的观点。
我建议你下载 DirectX SDK 2010年6月。
DirectX允许您在创建设备时选择要使用的DirectX版本,因此不必担心。
这是在 D3D11CreateDeviceAndSwapChain 在里面 D3D_FEATURE_LEVEL。
指向D3D_FEATURE_LEVEL数组的指针,用于确定顺序
尝试创建的功能级别。
我建议你做的是下载2010年6月的DirectX SDK并查看一些随附的样本。你应该决定如何前进。
对于我推荐的书籍 使用DirectX 11进行3D游戏编程简介 要么 DirectX 10 要么 Directx 9。哪个版本你决定使用。
我建议你下载 DirectX SDK 2010年6月。
DirectX允许您在创建设备时选择要使用的DirectX版本,因此不必担心。
这是在 D3D11CreateDeviceAndSwapChain 在里面 D3D_FEATURE_LEVEL。
指向D3D_FEATURE_LEVEL数组的指针,用于确定顺序
尝试创建的功能级别。
我建议你做的是下载2010年6月的DirectX SDK并查看一些随附的样本。你应该决定如何前进。
对于我推荐的书籍 使用DirectX 11进行3D游戏编程简介 要么 DirectX 10 要么 Directx 9。哪个版本你决定使用。
我不会尝试使用没有硬件支持的CPU对DirectX 11进行编码。这将是一次愉快的经历。相反,我要么购买新的显卡(不一定非常昂贵),要么购买DirectX 9中的代码。
DirectX 9编码的背面是它与10/11非常不同。所以,如果你有一天想要学习10/11,除了真正的基础知识之外,学习9对你并没有多大帮助。