我来自.net C#背景,我想学习DirectX.我对C++有所了解,但我对图形世界还很陌生.
如果我直接开始直接学习或购买像hern和baker这样的基本图书,然后跳转到directx,我对如何开始学习directx感到困惑.
这是学习基本图形概念的推荐书,是hern和baker吗?是否有任何直接书籍也将涵盖图形概念?
我认为保持基本的图形书总是好的,因为我可以随时使用它作为参考
有专家的建议吗?
你说你有一个C#背景,所以我假设你更习惯C#然后是C++.另外,你说你已经掌握了C++知识,所以我假设你已经对内存管理有所了解.
如果您只是想学习并熟悉图形管道,那么您应该查看SlimDX和XNA.它们都允许您使用DirectX而无需深入研究C/C++.
至于是否首先学习理论或API,我认为你不应该先做任何一个.以异步方式学习它们是有意义的.拿起一本关于理论的书,但同时还要乱用API.
我强烈推荐XNA.如果你想开发游戏,人们通常会说你应该坚持使用C++,但我强烈不同意.与单独使用C++和DirectX相比,XNA将允许您在更短的时间内学习更多高级游戏概念.您将能够专注于学习为什么要做某事而不是如何管理记忆.如果您将来决定游戏开发是一种严肃的激情,那么C++就是最佳选择.您会发现XNA的图形管道与DirectX 9密切相关,并且在转向C++时不会有太多麻烦.
此外,对于任何初学者来说,DirectX 9应该足够好了,它可以让你更好地理解10和11中事情发生变化的方式和原因.但是,如果你真的想要尖端技术,你可以尝试SlimDX这是一个C#包装器对于DirectX.
有了这些,XNA提供了许多易于理解的样本,您可以在他们的教育目录页面上开始玩.另外,请查看ziggyware(xna教程的精彩集合).
此外,您可以查看许多博客.他们中的很多人都有很好的教程.这里有一些我的头脑:
最后,这里有2本图书,我强烈推荐(它们相当复杂,可以持续很长时间):
它们与DirectX没有直接关系,而是涵盖了每个图形开发人员应该知道的理论.(从线性代数到纹理映射到体积矩阵渲染......)