我正在尝试将我的游戏开发转移到第三维度,但是我在理解我实际需要做的事情时遇到了一些麻烦。我在使用C和SDL之前创建了一个2D MMORPG,这并不太难。但我似乎找不到任何有用的资源来解释3D编程实际上是如何工作的。我对所涉及的矢量数学有基本的了解,但我似乎无法找到任何关于照明和着色器等其他工作方式的清晰,深入的解释。我已经找到了大量的代码示例等等,但是所有这些都只是引用了一个评论,例如“//应用光照”,这并没有真正告诉我它实际上在做什么以及为什么会这样做。

我不是在寻找API专用教程;学习一个新的API很容易 - 我不知道该怎么做。

有帮助吗?

解决方案

如果您正在寻找一本书,我强烈建议您实时渲染。我有本书的第二版,发现在使用3D图形时它是一个很好的资产。这本书解释了3D编程构建模块的内部工作,如变换,光照和纹理。它还探讨了各种高级主题,包括着色器,碰撞检测,加速和优化。

这本书对代码非常清楚。它深入解释算法但不包含实际代码片段。因此,如果你想了解事情是如何运作的,而不仅仅是知道要调用哪个函数,这是非常好的。

其他提示

如果您想了解3D计算机图形的概念,渲染教程将不会有太大帮助。当你发现他们教你API时,但没有帮助基本的理解。

你需要grpahics编程的圣经:

http://www.amazon.com/Computer-Graphics-Principles-James-弗利/ DP / 0201121107

alt text http://introtextbooks.com/wwwstatic/gfx/cover/foley-computer-graphics-principles-and-practice-in-c-2e.jpg

它不包括任何OpenGL,DirectX或着色器,只包括基础知识。但这就是你所需要的。例如:一旦你理解了照明是如何工作的,那么在OpenGL上实现照明的三条线将突然变得非常有意义。

我建议您查看 NeHe OpenGL教程,从最简单的教程开始,并学习一点点OpenGL。一个很好的OpenGL参考(例如红皮书,虽然这可能有点高级开始)也将是一个很大的帮助。

红皮书 - 它几乎是教导一切的一个来源(初学者 - 您需要了解OpenGL的中间人。这些概念可以很容易地移动到任何其他3D库。这也有一个免费的在线版本!

标准文字“在当天”返回是 Foley and Van Dam ,有些主题在那里有点长但是,三维变换和预测背后的基础数学并没有改变。

Alan Watt的文字也不错,但实际上不是入门书。

你也可以看一下 David Eberly的网站,他写的关于这个主题的几本书,也有很多相关的信息。期待大量的数学。

如果您对使用C#编写XBOX 360感兴趣,可以查看XNA Framework。 这个网站上有很多关于XNA的教程,我强烈建议您尝试一下。只需导航到侧栏(右侧)并单击3D部分。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top