龙书得失:请读 DirectX 9.0c A Shader Approach 版_DirectX 9.0 3D游戏开发编程基础书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > > DirectX 9.0 3D游戏开发编程基础 > 龙书得失:请读 DirectX 9.0c A Shader Approach 版
Breaker Zhao DirectX 9.0 3D游戏开发编程基础 的书评 发表时间:2013-01-07 01:01:32

龙书得失:请读 DirectX 9.0c A Shader Approach 版

读完龙书已两年,细节已忘,不做 DirectX / D3D 底层或引擎开发。恰时一小友问起学习游戏开发的书籍资料,便想起此书。

最开始按 Clayman 的《游戏程序员养成计划》学习图谱 http://www.cnblogs.com/clayman/archive/2009/05/17/1459001.html ,第一本便是此书。现反思,Clayman 的标题应为《游戏引擎程序员养成计划》,而自己内心所求的是《游戏开发者 / 制作者养成计划》,歪了路。

几处得失:

1. 读完龙书是做不了你当初想象中的 3D 游戏的。

2. 龙书对 Engine Programmer 和 Gameplay Programmer 都有意义,毕竟是 D3D 入门之入门,但读法上需有差异:引擎程序员需精研提炼为我而用,游戏性程序员应略读练习了解功能。

3. 请读 DirectX 9.0c A Shader Approach 版 http://book.douban.com/subject/2228878/ 。读完龙书一段时间后发现不对劲,那些图形学计算在哪里用呢(尤其光照),已有封装好 D3DX API 直接调用便可,岂不白学数学理论?

其实那些算式大量应用在可编程管线的 shader 中(现代游戏很少用固定管线)——手工编写代替 D3DX API 的等价实现。所以至少应该从龙书(第 1 版封面即龙书别名来历)的第 2 版 DirectX 9.0c A Shader Approach 版开始读(第 2 版之后都是可编程管线方法 http://d3dcoder.net/ ),目前有英文电子版但无中文版,龙书第 3 版 DirectX 10 版有汤毅于 2011-11 翻译的中文版电子版,但目前未出版。莫要读错了版本,尤其对志在游戏引擎开发方向。

4. 引擎开发的学习图谱。对于龙书除了 Clayman 的指导外,还有 Captain 的书评《我还是愿意尊它为龙书》比较实用 http://book.douban.com/review/4504528/ ,说明龙书读完后该做什么。

我承接龙书读的下一本是《Character Animation With Direct3D》 http://book.douban.com/subject/3863786/ ,感觉和龙书一气呵成读完,Clayman 和 Captain 的指导都提到此书,还有 acros 的书评《Animation 入门书》比较中肯 http://book.douban.com/review/5201144/ 。内容:2 章物理相关 (Ragdoll) + 1 章 AI 相关 (Crowd) + 1 章法线贴图 (Wrinkle Map) + 各章动画实现方法 (Skinned / Skeletal, Morphing / Facial, IK, Lip-syncing, Hair)。此书对引擎程序员迫切(精读),对游戏性程序员没有龙书迫切(闲时略读),读法和龙书相同。

以上和相关链接中的技能树(3D 引擎、动画实现)是针对引擎程序员的底层技术和引擎开发方向。

对于游戏性程序员需要修习的主技能并非如此,游戏性程序员应该把功夫花在对某种引擎的炉火纯青的使用之上,再根据自身发展方向修习其它技艺(可偏美术和设计),如 3D 建模(Technical Art 方向)。

展开全文
有用 20 无用 1

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

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“龙书得失:请读 DirectX 9.0c A Shader Approach 版”的回应

悸动 2014-07-04 17:28:30

一开始我想学的是游戏开发。。后来我才明白,我想学的是游戏引擎开发

moc 2013-09-11 10:13:17

顶lz
最初入行时我也很想做引擎开发
后来发现我其实是想做游戏开发者,引擎应该是我手中的工具

John MacTavish 2013-06-29 15:47:06

游戏引擎程序员养成计划
游戏开发者 / 制作者养成计划

唉,这两个真是区别大了,好多人想写游戏,都不知不觉跑去搞引擎,中间件之类的,反倒是忘了自己的初衷。