2009-05-04 94 views
10

我试图将我的游戏开发转移到第三个维度,但我有一些麻烦理解我实际上必须做的事情。在使用C和SDL之前,我已经创建了一个2D MMORPG,这并不难。但我似乎无法找到解释3D编程实际工作原理的任何有用资源。我对矢量数学有一个基本的了解,但我似乎无法找到关于照明和着色器如何工作的其他任何明确,深入的解释。我发现了很多代码示例等等,但是他们都只是抛出一个像“//应用光照”的评论,这并没有告诉我任何关于它实际上在做什么以及为什么。3D编程概念指南?

我不是在寻找一个特定于API的教程;学习一个新的API很容易 - 我只是不确定该怎么处理它。

回答

11

如果你正在寻找一本书,我强烈推荐Real-Time Rendering。我有这本书的第二版,发现它在使用3D图形时是一个很棒的资产。本书解释了3D编程构建模块的内部结构,如变换,照明和纹理。它还探讨了各种高级主题,包括着色器,碰撞检测,加速和优化。

这本书在代码上很轻。它深入解释了算法,但不包含真正的代码片段。所以如果你想知道事情如何工作,而不是仅仅知道要调用哪个函数,那就非常好。

1

如果您有兴趣使用C#编程XBOX 360,您可以查看XNA Framework。 This website在XNA上有大量的教程,我强烈建议您尝试一下。只需导航到边栏(右侧)并点击3D部分即可。

5

我建议你看看NeHe OpenGL tutorials,从最简单的开始,学习一点OpenGL。一个好的OpenGL参考(例如Red Book,虽然这可能有点先进)也将是一个很大的帮助。

+0

哎呀刚刚看到你的帖子,红皮书+1(另一种是OpenGL编程指南,第五版) – yxk 2009-05-04 21:21:18

+0

哦,哎呀。我刚刚看到你的帖子。这本红色的书是我从3D中学到的东西 - 它从头开始做起了相当不错的工作。 – 2009-05-04 21:23:12

+0

如果/当你拿起红皮书的副本,确保它是用于OpenGL 4.0+(处理着色器,而不是旧的固定管道) – 2012-06-25 00:07:37

8

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

你需要grpahics编程的圣经:

http://www.amazon.com/Computer-Graphics-Principles-James-Foley/dp/0201121107

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

它并不包括任何的OpenGL,DirectX或着色器,只是基本面。但那就是你需要的。例如:一旦你了解了照明的工作原理,那么在OpenGL上启用照明的三条线就会突然变得非常有意义。

2

“当天”的标准文本为Foley and Van Dam,其中一些主题覆盖的牙齿有点长,但三维变换和投影背后的基础数学没有改变。

Alan Watt's文字也很好,但不是真正的介绍性书籍。

你也可以看看David Eberly's网站,他已经写了几本关于这个主题的书籍,并且还有大量的相关信息可以在那里找到。期待充足的数学。

3

The Red Book - 它几乎是一个教会你需要了解OpenGL的一切(初学者 - 中级)的来源。这些概念可以很容易地移动到任何其他3D库。这也有一个免费的在线版本!