1)Windows 8 SDK现在要学习的东西还是DX 11还是相关的?喜欢,如果你想学习C,你应该学习C 11,所以如果你现在要学习Direct3D,你应该学习Windows 8 SDK?
2)学习DirectX SDK有很多优秀的资源:很多教程,微软自己的samples,NVidia Graphics SDK samples,AMD Radeon SDK samples等.目前有没有类似的优质资料可用于Windows 8的Direct3D或只是msdn?
3)我的基于Windows 8 SDK的引擎是否仅在Windows 8上运行?
4)任何一手经验/两者之间的比较?
非常感谢!
解决方法
1) Is Windows 8 SDK the thing to learn now or is DX 11 still relevant?
发生了什么事情:他们不赞成使用独立DirectX SDK的一些东西,将其轻松一点并合并到Windows SDK中.还重命名了一些标题.这一切.没什么可学的
其实你一定不知道(也就是忘了)一些事情.值得注意的是,D3DX,效果框架等.从新的SDK中剥离出来,您需要找到替代的替代文件(例如,可以使用Effect11的源代码;对于位图加载使用DirectXTK或FreeImage;对于网格使用Assimp; find或推出自己的精灵和字体引擎等).
好的,需要说的是,他们添加了DirectX 11.1(Win8)和11.2(Win8.1).但是,他们的功能太小,非常具体,说你必须学习它.
2) There are plenty of great resources for learning DirectX SDK […] Are there any similar quality materials available for Windows
8’s Direct3D or just msdn at the moment?
有一个新的set of samples on MSDN,例如Windows Store Apps示例.他们都被其他(非DirectX)Windows SDK样本弄乱了,所以使用搜索.由于API本身保持不变,桌面应用程序没有什么新鲜事.您可以轻松地修改旧样本,而不需要使用独立的DirectX SDK来代替弃用的东西.
3) Will my Windows 8 SDK based engine run only on Windows 8?
不过,使用此SDK,您可以将目标定位到从Windows XP开始的任何事情.但是您移植到DirectX 11 API,这意味着您的应用程序至少需要Vista SP2.您可以保留您的DirectX 10代码为Vista没有SP目标.而在Win XP下运行,您将需要DirectX 9代码路径.或者OpenGL在所有情况下);
4) Any first hand experience / comparisons between the two?
那么微软的淘汰风格和移动的事情却没有收获,有时候令人沮丧.但我们已经习惯了.
从DirectX 10移植到DirectX 11 API是really straightforward.但是移植扩展的东西,如D3DX是一个痛苦:看一下我的答案here一些有用的链接.
我自己的看法是,你不能依靠微软的二级库,因为它们在最糟糕的时刻可以被弃用和削减.但是你们的解决方案不会.因此,如果您有基于FreeImage或您自己的lib的纹理加载器,您有一个指向位图数据的指针,可以在任何地方使用它:DirectX,OpenGL,直接将其转换为窗口,无论您想要什么.如果您有自己的着色器效果引擎,那么在Windows Store Apps中不可能使用自己的效果框架.
我倾向于仅使用微软的核心API,以及任何其他通用的便携式第三方库:这减少了对决策的依赖和依赖,并给予了更多的自由.所以如果一个lib坏了,我不需要重写所有的lib.