我知道有几个关于这个问题的主题,但我想明确我正在寻找什么。
所以我学习了OpenGL并掌握了着色器(可编程管道)、顶点缓冲区、索引缓冲区等基础知识,统称为“现代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
但我有点担心浪费时间在已弃用的旧东西上。
总之,我需要一些帮助,我真的无法想象该选择哪个方向。
希望你能理解我的观点。