|
|
1
9
你说你有C语言背景,所以我假设你对C语言和C++比较舒服。而且,你说你有C++的知识,所以我假设你已经对内存管理有了了解。 如果您只想学习并更熟悉图形管线,您应该查看 SlimDX 和 XNA . 它们都允许您使用DirectX而不必跳入C/C++。 至于是先学理论还是先学API,我认为你不应该先学。异步学习它们是有意义的。拿起一本关于这个理论的书,但同时又乱弄一个API。 我强烈推荐XNA。人们常说,如果你想开发游戏,你就应该坚持C++。 强烈地 不同意。XNA将允许您在比使用C++和DirectX单独的时间内学习更多的高级游戏概念。你将能够专注于学习为什么你在做一些事情,而不是如何管理记忆。如果将来你认为游戏开发是一种严肃的激情,那么,无论如何,C++是前进的道路。你会发现XNA的图形管道紧密地反映DirectX 9,并且不会有太多的麻烦转移到C++。 此外,DirectX9对于任何初学者来说都应该足够好,它将使您更好地理解10和11中的变化方式和原因。然而,如果你真的想要尖端技术,你可以试试slimdx,它是DirectX的C包装。 尽管如此,XNA提供了许多易于理解的示例,您可以开始使用它们 educational catalog page . 此外,检查 ziggyware (XNA教程集很棒)。 此外,还有许多博客可以查看。他们中的很多人都有很好的教程。以下是我头顶上的一些: 最后,这里有两本我强烈推荐的图形书籍(它们非常复杂,而且会持续很长时间): 它们与DirectX没有直接关系,而是涵盖了每个图形开发人员都应该知道的理论。(从线性代数到纹理映射到体积绘制…) |
|
|
2
2
好吧,我不同意C选项。如果你没有完成比赛的最后期限,那么我建议你使用教你最多的语言。使用3D图形是管理的一个重要方面,因此如果你要避免它,你实际上不是在学习而是在使用它,即你不仅要管理内存,还要管理你所做的实际渲染调用和设备状态的变化,很多事情你永远不会知道,因为你避免了较低的级别,这也适用于其他API,如OpenGL OR代表其他类型的设备。我认为了解API如何工作的最好方法是使用API,而不是使用一堆助手库。当你真的需要它时,你可以使用辅助库(你可以在C++版本中找到)。 在dx sdk中,您还可以找到带有一些示例应用程序的示例浏览器及其文档,您还可以使用包含框架和库的DirectX实用工具工具包来制作DirectX应用程序,而不必担心诸如枚举和配置之类的讨厌的设备。它还附带一个GUI系统和设备配置的设置对话框。我怀疑你能在C中找到它们,如果你想从DX开始,它们是非常好的。 一些在我开始时帮助我的资源是 the zophusX tutorials 以及Frank D.Luna写的《DirectX 9.0c三维游戏编程入门》(现在有DX10版本) 也许StephanZerbst的书3D游戏引擎编程也帮助我理解了一些关于如何更好地使用API的事情。尽管你可能要买它们才能阅读。它们有助于从一些理论开始,同时使用API。 我认为,如果你的目标是学习如何制作一个游戏,那么你可以使用任何你想要的语言/库,你甚至不需要知道一个编程语言:)但是如果你的目标是学习DirectX和图形API,你就应该从C++ API开始,这是“实际”的DX。 |
|
|
3
1
如果你有一点额外的钱,我对来自 http://www.gameinstitute.com . 他们提供的教科书对我看过的其他DirectX书籍来说非常好。第一个模块directx graphics i在开始设置和使用directx之前先进行了一些数学复习和一些3D基础知识。在第一个模块结束时,您将构建一个纹理地形渲染器和一个室内场景。 总的来说,当你考虑这方面的书要花多少钱时,课程就不会那么贵了。我绝对推荐你去看看! |