新書推薦:
《
为你想要的生活
》
售價:HK$
67.9
《
关键改变:如何实现自我蜕变
》
售價:HK$
79.4
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:HK$
102.4
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:HK$
64.4
《
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
》
售價:HK$
59.8
《
明式家具三十年经眼录
》
售價:HK$
538.2
《
敦煌写本文献学(增订本)
》
售價:HK$
227.7
《
耕读史
》
售價:HK$
112.7
|
內容簡介: |
本书主要介绍如何利用3D固定流水线编写游戏引擎,以及在已编写引擎的基础上开发游戏,全书共分10章,主要内容包括游戏引擎简介、数学知识、材质和光照、固定流水线、游戏引擎架构、3D引擎底层封装、3D引擎封装、游戏设计实现、地图编辑器、3D可编程流水线。本书重点介绍3D固定流水线编程中涉及的矩阵和向量之间的换算,*后一章介绍了GPU编程,也就是常说的3D可编程流水线。
|
關於作者: |
硕士研究生,从事互联网和IT行业十年以上,擅长3D游戏引擎开发,GPU编程,游戏架构等技术。曾就职于网龙公司,久游公司,趣游等公司并担任过重要职务,参与或主导过多款商业3D网络游戏上线运营。曾发表《三维漫游系统关键技术研究》,《虚拟交互漫游系统关键技术研究与实现 》,《移动端海洋实时仿真技术研究与实现》等多篇论文,目前个人拥有两项软件著作权。
|
目錄:
|
第1章游戏引擎简介(1)
1.1引擎的原理(1)
1.2开发3D引擎具备的条件(4)
总结(6)
第2章数学知识(8)
2.1向量(8)
2.1.1向量加法及运用(9)
2.1.2向量减法及运用(10)
2.1.3向量点积及应用(10)
2.1.4向量的叉乘及应用(12)
2.1.5向量的长度及应用(13)
2.1.6向量的归一化及应用(14)
2.2矩阵运算(14)
2.2.1矩阵加法和减法(14)
2.2.2矩阵乘法及运用(15)
2.33D坐标系(19)
2.4齐次坐标(19)
2.5四元数(20)
总结(20)
第3章材质和光照(22)
3.1材质(22)
3.2光照(23)
总结(26)
第4章固定流水线(27)
4.1局部坐标到世界坐标的变换(27)
4.2世界坐标到相机坐标的变换(29)
4.3物体剔除(31)
4.4相机坐标到透视坐标的变换(32)
4.5透视坐标到视口坐标的变换(33)
4.6光栅化(33)
总结(34)
第5章游戏引擎架构(35)
5.1模块功能细分(36)
5.2GDI含义(36)
5.3整个引擎渲染思路(37)
总结(38)
第6章3D引擎底层封装(39)
6.1自定义结构体(39)
6.2矩阵定义(45)
6.3通用类定义(54)
6.4向量运算(59)
6.5灯光(72)
6.6视景体(77)
6.7矩阵转换(83)
6.8图形渲染系统(89)
6.9材质(100)
6.10坐标系之间的转换(109)
总结(158)
第7章3D引擎封装(159)
7.1相机的实现(160)
7.2监听事件(166)
7.3模型分析(168)
7.4模型加载(169)
7.5模型操作(180)
7.6场景管理(191)
7.7绘图接口(206)
7.8游戏窗口(207)
总结(217)
第8章游戏设计实现(218)
8.1游戏架构(218)
8.2坦克设计(219)
8.3AI坦克(230)
8.4子弹设计(235)
8.5玩家控制(240)
8.6游戏类封装(246)
8.7游戏管理(253)
8.8主循环(276)
总结(278)
第9章地图编辑器(280)
9.1编辑器实现(281)
9.2模型插件实现(282)
总结(284)
第10章3D可编程流水线(285)
10.1GPU编程语言(287)
10.2灯光的Shader渲染(287)
10.3CelShading渲染(291)
10.4环境映射(298)
10.5Phong着色(302)
10.6Bloom渲染(305)
10.7PSSM阴影(314)
总结(323)
|
內容試閱:
|
前言
当今,由于国家对文化产业的扶持力度加大,极大地促进了游戏这一行业的繁荣发展,越来越多的IT从业人员加入游戏开发或VRAR虚拟现实和增强现实开发中。由于游戏行业是一种技术浓缩型的行业,作为一名从业者,要想在游戏行业尤其是3D游戏行业内生存、发展,没有过硬的技术是不行的。可是,多年的从业经历让我见到过许许多多的年轻人,他们在公司里只能写一些简单的逻辑,导致理论和技术长时间得不到提高,长期被边缘化,随时都有被辞退的风险。究其原因,是因为他们对于游戏基础理论知识缺乏运用到实战的经验,在公司的游戏开发中无法提供价值。在和他们接触的过程中,我发现一个很普遍的现象:这些能力欠佳的年轻人也有着强烈的欲望去学习专业知识,只是市场上的3D引擎书籍讲述得偏理论化,而且理论和技术点比较琐碎、脱节,与他们的游戏研发项目没有必然的联系,有时熬夜看完一本书,脑子里闪现的只是一些零散的知识点,在平时的工作实践中根本用不上,久而久之,也就失去了学习兴趣,得过且过了。作为他们的前辈,我也有相似的经历,耽误了很多时间,我一直想着怎么能让后来者少走弯路,理论联系实践。笔者经过多年的经验积累,终于奉上了这本呕心沥血之作。本书的目的就是要打破常规,将理论知识贯穿到游戏引擎的架构设计和游戏开发中,经典的案例就像万能公式一样,可以使读者边学习边运用到当前的游戏项目中去,实用性超强!初学者认真学完本书后,会更深入地理解引擎架构原理及数学知识在游戏中的运用,对自己能力的提升是非常好的助推器。
本书致力于用最通俗的语言讲述初学者最需要的知识,采用图文并茂的方式讲解各知识点在游戏实战中的运用,让读者更容易理解和掌握。本书涉及游戏开发中的知识点并没有做到面面俱到,而是讲述了游戏开发中最基础的知识,并将其封装到引擎开发中去,希望读者把3D游戏开发的基石打牢靠,为以后攀登3D引擎高峰打好系统理论基础。
本书的编写不同于以往的侧重理论知识讲解的书籍,对知识点的讲解侧重实用技术和基础知识相结合的方式,把真正游戏开发中常用的技术知识点抽离出来给大家讲解,采用的是一边讲解理论知识,一边与游戏案例结合的方式,真正做到理论与实践相结合与系统化。
本书手把手地教读者如何从无到有架构游戏引擎,以及如何去利用架构好的游戏引擎开发设计游戏,不借助于任何第三方库文件,自己动手封装底层库,更能让读者知道DirectX或OPENGL、OPENGLES提供的库接口的实现原理,真正做到深入引擎最底层。游戏中使用的模型是开源的Ogre模型插件实现的,这样整本书的引擎架构就是一整套完整的引擎设计,以后也可以做跨平台移植。在本书的最后,给大家介绍了Shader编程案例的实现,作为3D引擎开发者,GPU编程是必不可少的。目前一些知名的游戏公司,如网易、腾讯、蜗牛等都有公司自己研发的3D引擎,这也体现了公司自己的研发能力。随着VRAR的崛起,更期待支持VRAR多种设备的3D引擎。毕竟国内真正从事3D引擎开发的人相对来说比较少,所以在3D引擎开发方面,市场潜力还是非常大的。
|
|