我还是愿意尊它为龙书_DirectX 9.0 3D游戏开发编程基础书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > DirectX 9.0 3D游戏开发编程基础 > 我还是愿意尊它为龙书
Captain DirectX 9.0 3D游戏开发编程基础 的书评 发表时间:2010-12-05 23:12:32

我还是愿意尊它为龙书

 首先得声明我这篇文章只有很少的篇幅介绍龙书,其实我是想写点东西给那些看完龙书的人。
  这是我接触3D图形编程的第一本书,接触3d图形编程前,我看的是《Windows 游戏编程大师技巧》,只看了前几章,当时我急着想去学3D的酷玩意儿,立刻就没耐心看GDI,DirectDraw。转投Direct3D门下,入门书当然是这本龙书了。对我来说龙书最棒的地方在于,它除了开始的数学基础章节外,每一章都能详细地引导读者去实现一个简单的3D特性,从画三角形到摄像机,到简单的粒子系统,地形,甚至到shader。Luna无疑是睿智而狡猾的,他知道初学者往往耐心不够,所以他总是适时地丢出个胡萝卜,让读者保持着继续的动力。这一点是我在《Windows 游戏编程大师技巧》没看到的。(见鬼,谁爱去学画线那点破玩意...这里完全是个人情感,我没看完后者,所以没资格评价)
  但是Luna忽视了一点,就是学完了龙书该做什么?他或许没想到有很多投身于游戏编程的孩子都是像我这样,眼高手低而且懒于探索,爱看现成内容的。起初的他们编程基础不扎实(1年编程经验),完全不了解图形学(就龙书那点,而且多半只是照葫芦画了个瓢,还是不懂原理)。于是这些孩子后来的日子就苦了。
  由于他缺乏埋头苦干的品质,于是他们只能上网寻找高人指点如何走下面的路,接着他苦苦寻找该如何理解和实现更高深的内容,去看DirectX Sampler里晦涩的代码,虽然很多知识对当时缺乏实际代码经验的他实在有点难,在这样茫茫然然浪费了许多时光之后,他找到一本还可以的英文书,里面虽然内容不深,但是一步一步教着去实现了简单的Demo,里面包含了蹩脚的封装,难堪的场景管理,但对他来说还是可以够到的,于是他终于东拼西凑地写出了第一个属于自己的Demo。他看到了自己的不足,但还不知道如何改进,他觉得这个学习之旅越来越难,懒惰催促着他该放弃了。但他的内心不愿放弃这个童年的梦想,于是他甚至逼迫自己翻译了另一本英文书籍,他又能看懂更多了。或许是冥冥中的必然,他看到了Ogre,在经历的那么多晦涩的代码后,学习Ogre已经不再是那么难了,他在同学的帮助下熟悉了部分Ogre,写了更多的代码,看了更多的代码。终于,他发现曾经如同天书的RTR,现在闪烁着金色的光芒,而他发现自己图形的基础实在太差了,而且对图形引擎的细节还是一知半解(游戏引擎更别说了)。于是他便开始阅读ogre的源码,并纳为己用......
  我不知道还有没有像我这样的笨蛋,但现在回头想想,自己当初如果能有个人来指点一二,并且沉下心,多写代码,今天我能走的更远。下面就是推荐学习的路线:
0.耐下性子,认真学习数据结构与算法,至少要学到图。这是我当年没有好好做而如今最后悔的步骤,推荐书无所谓,严蔚敏的也行,allen weiss的最好,但最重要的是不是光去理解,而是自己去实现,你会发现后者比前者难的多。
1.DirectX的龙书,我推荐看清华大学翻译的这个,首先段菲翻译的的确很不错,有些地方译者还加了自己的话和推荐的书外阅读,虽然有些链接失效了,但这是原版没有的(准确的说是翁云兵先生翻译的版本里没有的,原文我没看过)。其次,处于尊重版权,我也推荐去买这本书,而不是下电子版,相信我,对于初学者来说,这本书在你学习3d编程的一两年内,你还是能在从中学到知识的。
2.实现龙书,我不是说把他的例子抄一遍。这时候你需要做的是,把龙书的代码推掉,利用龙书的所有内容,重新自己写一个小的demo,可以就是一个小场景漫游,但是希望你开动想象力,多写点逻辑,多写点独特的非图形的东西,不要觉得这很难,其实随便想一个简单的东西都有够你写的,推荐看这篇文章,你会发现灵感有时候没那么难出现:http://www.gamelook.com.cn/?p=15451
3.这个时候,如果上述步骤你都完成了,恭喜你,你已经不再是初级菜鸟了,首先,你需要去买RTR(Real-Time Rendering英文版 ,淘宝上影印80),然后,程序设计上我推荐买一本大话设计模式,把其中简单的模式看一下,看不懂的就别看(那说明你还没到那水平,或者说还没遇到过这个模式能解决的问题)。接着,推荐你阅读clayman大人很有名的一篇博客:http://www.cnblogs.com/clayman/archive/2009/05/17/1459001.html
然后去选择一个方向去阅读文中推荐的书籍,我推荐是地形和动画,因为这两个方向的书我看过。。。《Real Time 3D Terrain Engines Using C++ And DX9》网上有我翻译的中文版,虽然代码的确需要花一定的时间去理解(作为demo,代码写的不错,可以算一个小的图形引擎了),不过场景管理还是图形里相当核心的一块,所以读还是有好处的,不过我的建议也是读完4到9章和附录就可以实际编码了。而后者《Character Animation With Direct3D》代码浅显易懂,而且人物动画绝对是当今次世代的一个大头,我虽然没有全看完,但还是相信这本书绝对很值得一读。读完后最后重构你之前写的demo吧,并且加入这两本书的特性。
4 你将从菜鸟学院毕业了,现在的你对图形已经不再一窍不通,对程序结构也不再那么陌生。下面我终于要向你推荐Ogre了,你将很愉悦的略读一下《Pro OGRE 3D Programming》,(打工仔一帮人翻译了中文版),到此你当初写demo时的许多难题在这里或许能引擎共鸣,然后你将很轻松地阅读ogre的官网的初中级教程,如今的你手握一个文档详细,社区活跃的图形引擎,接着拿着他重新去写一个小游戏吧,要求还是一样,尽可能多地利用所学知识。
 是的,我还想写第5条,但我忍住了,因为曾经有个笨蛋经过或跳过了上述几个阶段后,学到了甚至更多的东西,最重要的是如今他不再需要有人来指点,便可以确定自己该走哪一条路,虽然他不一定看不到旅途的终点,但已然能够嘹望到前方的光明。所以我相信,你也能:)
ps:希望大家有经济能力的还是购买正版书籍,亚马逊没那么麻烦,而且淘宝上其实有很多代购的。

展开全文
有用 99 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“我还是愿意尊它为龙书”的回应

胡锦ミ寿 2016-11-26 17:39:26

讲了一大坨,都是胡说八道。

冬天默默 2016-09-30 13:46:56

嗯,时隔多年,再一次回到 lz 评论的页面。
回顾大学毕业进入游戏公司就买了龙书,当时的我看到满是IDirect3DXXX, ID3DXXX,每个函数一堆参数,一堆渲染状态等觉得头大,没有看得进去。

但这并不是说龙书不好,相反龙书很好,只是不适合当时的我。因为整个device对我来说是个黑盒子,这种感觉很不好,数学基础也一般。所以当时我选择了研读“3D游戏大师技巧”,直到写出了soft renderer,虽然不是很复杂,但足以让我了解硬件背后做的事情。

今天来回复,是在经历了多个游戏项目之后,用了业余不多的时间,按照书中的例子(一共39个例子)挨个撸了一遍并完全理解。因为几年游戏开发的知识储备加上写soft renderer的经历,撸完后并没有学到太多的东西,也挺正常,算是纪念本书吧。

如我这样天资并不聪慧的人,要学的东西太多了,做渲染还有很长的路要走,加油!

syawlaus 2016-02-24 18:23:36

多谢 LZ,能让我少走弯路

Captain 2015-09-02 10:18:14

@suwait 哈哈哈哈,one piece里有句话说的很好,向上滚动的齿轮总会相遇的~~

Captain 2015-09-02 10:17:11

@Ohyes 好久没看了,额。。我有点忘记是哪一本了。。显然不是rtr,rtr只是参考书而已,没有实例代码的。
现在这个时代直接学unity好了,想学高阶的就是ue4。
时代不一样,我们那会比较悲剧,现在你们可以直接接触到非常好的东西,没必要从底层开始搞了

Lim 2015-09-01 23:00:45

very good

suwait 2014-12-12 11:35:55

好神奇,我前面走的路几乎跟LZ一模一样,一开始看《Windows 游戏编程大师技巧》,然后看Direct3D,看DirectX Sampler里晦涩的代码,同样在浪费了许多时光之后,东拼西凑地写出了第一个属于自己的Demo,之后看到了OGRE,如获至宝,并以OGRE写的游戏作为毕业论文获省级一等奖。可是大学毕业后却选择了另外一条路,主要是图形学基础薄弱对自己信心不足,找不到继续钻研的方向。隔了4年后,还是不忘初心,重回到游戏开发上面来。要是能早点看到LZ的美文,我应该可以少走很多的弯路,相见恨晚啊。

Ohyes 2014-11-07 23:39:04

LZ, 我想请教个问题:
你写的“他找到一本还可以的英文书,里面虽然内容不深,但是一步一步教着去实现了简单的Demo,里面包含了蹩脚的封装,难堪的场景管理,但对他来说还是可以够到的,于是他终于东拼西凑地写出了第一个属于自己的Demo”
LZ您说的这本英文书是什么书?是RTR 3rd版吗?
望点解。。thanks!

guoxu66 2014-03-14 10:01:45

LZ写的太好了,受益了,谢谢

死理性派文艺范 2014-01-19 16:49:47

mark 游戏新手路过

max 2013-11-10 22:59:35

没人发现文中的"曾经有个笨蛋"指的就是作者自己吗 很励志的文章 小白路过 学习了 多谢前辈指引:)

冬天默默 2013-10-28 22:00:10

留下脚印,等进入图形学的门槛,再来回复

John MacTavish 2013-07-17 09:42:52

LS

http://www.d3dcoder.net

蠕动蠕动 2013-07-16 10:25:05

D3D固定渲染管线也学了不少时间了 感觉需要本工具书了 所以买了这本书
不过书中的官网链接都已经失效了 实在太坑了 什么社区资源的都不知道在哪

John MacTavish 2013-06-05 17:16:36

深有共鸣,D3D Sample的封装真是看得人太头大了。
每一个自学的热血青年都有一段苦逼的学历经历。

7°大巫师 2012-12-30 20:17:45

最近得到一个关于3D游戏软件开发的在线测试的课题 你有没有心得?求指导 因为要写一篇论文 但是没有头绪 不知道要写什么 从哪里开始下手

Timson 2012-09-18 22:00:52

请问那什么时候学《计算机图形学》呢???,,具体的书籍是????

冷月~剑影 2012-09-15 13:14:08

希望真的是对的

/huaix那个谁好 2012-08-01 13:45:29

感动!

MEMX 2012-07-22 18:54:20

我之前看过clay的那篇文章 今天重温时间接地发现了这篇书评 结合起来阅读收获不小啊 感谢captain学长的经验指点!

重修暴风雪 2012-06-28 11:09:31

正想找人问问路

空空如也 2012-06-14 11:43:37

不错的学习路线。。

Mr.Clock 2012-05-30 12:28:07

lz宝贵的经验啊!

harry 2012-02-26 00:13:04

一年多了,我忽然又跑到这个书评来了,好神奇~

firzencode 2012-02-14 20:29:03

醍醐灌顶!

Magicqy 2011-11-04 10:42:28

看完一遍英文的,感动的要死,稀里糊涂的学了这么久,难道有一本让人忍不住想要一直通篇看下去的书

mtx 2011-07-08 15:33:45

very good!

冬天默默 2011-07-02 21:26:52

lz的经验之谈啊

[已注销] 2011-05-08 23:23:37

lz写的真好,赞

马思路 2011-02-20 21:05:44

啥都别说了,楼主写得都快感动死了~~~

zebra 2011-02-19 21:55:09

LZ写得实在赞~

安德尔斯 2011-02-16 09:40:18

LZ写的真的很好,可能很多人的学习都是这么个过程,哈哈~~

harry 2010-12-08 21:43:11

写得很棒,,,和我有共鸣啊~ 看来《Real Time 3D Terrain Engines Using C++ And DX9》和《Real-Time Rendering》这俩个遗留问题得认真解决一下了~