欢迎光临
免费的PDF电子书下载网站

Irrlicht 3D游戏引擎程序设计 PDF下载

编辑推荐

Irrlicht引擎是一个开源的高性能实时3D引擎,是用C 编写的。Irrlicht引擎是完全跨平台的,使用D3D、OpenGL和自己的软件渲染器,具有所有商业3D引擎拥有的先进特性。Irrlicht有一个巨大的活跃社区,并且有很多开发项目使用这个引擎。在网上很容易找到Irrlicht的增强程序,如可选用的地形生成器、入口生成器、输出器、world层生成器,以及相关教程和编辑器。Irrlicht引擎支持Java、Perl、Ruby、Python、Lua等语言。*重要的是,这个引擎是完全免费的。 

内容简介

Irrlicht(鬼火)引擎是一款用C 编写的高性能3D引擎,是经典的3D游戏引擎之一,可以应用于在C 程序中开发3D游戏。本书以实例的形式向读者展示Irrlicht的编程精髓,融入了3D游戏设计的理论基础、技巧等方面的知识。
本书内容共分为15章,包括Irrlicht概述与游戏引擎安装,编写*个Irrlicht程序,Irrlicht图形学基础,网格、纹理、覆盖层,场景管理,摄像机,地形、纹理和渲染,光照与材质,声音,粒子系统,碰撞检测,数据和文件的处理,着色器,游戏人工智能,部署Irrlicht程序等。
本书适合C 游戏编程初学者和具有一定编程经验的C 游戏编程人员,也可作为高等院校和培训学校游戏软件开发课程的教学参考书。

作者简介

许志闻,吉林大学计算机科学与技术学院教授、博士生导师,中国计算机学会多媒体专业委员会委员,中国图形、图像学会多媒体专业委员会委员。2006年,美国佐治亚大学高级访问学者。主要研究方向为计算机图形学、动画与游戏、虚拟现实、图像处理、网络多媒体和生物信息学等。

Irrlicht 3D游戏引擎程序设计 PDF下载

目录

 

 

1章  Irrlicht游戏引擎 1

1.1  Irrlicht使用许可与系统要求 1

1.2  获得Irrlicht引擎 2

1.3  Windows下设置编译器 4

1.3.1  设置编译器的原理 4

1.3.2  设置动态链接库的方法 5

1.3.3  其他设置方法 10

1.3.4  环境变量的设置方法 11

1.3.5  设置过程中常见的问题 12

1.4  重新编译Irrlicht引擎 13

1.5  测试是否已经正确设置 15

1.6  Linux环境中使用鬼火游戏引擎 16

1.6.1  Linux下编译静态库 16

1.6.2  编译Hello World程序并运行 17

1.6.3  Linux下创建第一个项目 18

1.6.4  第三方编程工具Code::Blocks 19

2章  编写第一个Irrlicht程序 20

2.1  Irrlicht引擎的结构 20

2.1.1  引入命名空间 20

2.1.2  了解Irrlicht引擎的结构 21

2.2  分析简单的代码 21

2.3  简单的扩展 24

2.4  类的形式 26

2.5  让窗口显示内容 28

2.6  比较成型的模式 29

2.7  让我们的程序发生变化 30

3章  图形学基础 33

3.1  计算机显示原理 33

3.1.1  图形系统的硬件 33

3.1.2  光栅扫描系统 34

3.1.3  计算机图形标准 35

3.2  图形学的数学基础 36

3.2.1  向量及向量运算 36

3.2.2  坐标 36

3.2.3  基本几何变换 38

3.2.4  三维空间的变换 40

3.3  双缓存和垂直同步 42

3.4  纹理 43

3.5  Z缓冲 45

3.6  摄像机 46

3.7  粒子系统 47

4章  网格、纹理、覆盖层 50

4.1  网格简介 50

4.2  不同格式网格模型的区别 52

4.3  初识纹理 54

4.4  动态网格模型 56

4.5  覆盖层 59

4.6  使用精灵表 63

4.7  绘制基本图形 67

5章  场景管理 69

5.1  场景节点和实体 69

5.1.1  场景节点 69

5.1.2  实体 71

5.2  场景节点类型 72

5.3  场景管理器 74

5.4  动态节点 74

5.5  场景的应用示例 77

5.5.1  场景节点的应用 77

5.2.2  动态节点的应用 81

5.5.3  自定义场景节点 83

6章  摄像机 87

6.1  摄像机投影 87

6.1.1  正交投影 88

6.1.2  透视投影 89

6.1.3  两种投影在代码上的实现 90

6.2  裁剪 92

6.3  摄像机观看视角的类型 95

6.3.1  普通摄像机 95

6.3.2  第一人称射击摄像机 95

6.3.3  Maya摄像机 96

6.4  FPS摄像机的使用示例 96

7章  地形、纹理和渲染 99

7.1  地形场景节点类 99

7.2  高度图 101

7.3  纹理 102

7.3.1  纹理简介 102

7.3.2  使用纹理 103

7.4  渲染示例 106

7.4.1  渲染地形 106

7.4.2  纹理渲染 111

7.5  创建地形 114

8章  光照与材质 119

8.1  光照模型 119

8.2  光源 119

8.3  深入光源 120

8.3.1  模拟环境光 121

8.3.2  模拟漫射光 123

8.3.3  灯光的衰减 123

8.4  光源 124

8.4.1  光源的类型 124

8.4.2  光源属性 125

8.4.3  添加灯光 126

8.5  一些简单的光照示例 127

8.5.1  用代码实现环境光 127

8.5.2  用代码实现漫射光 129

8.5.3  用代码实现镜面反射光 132

8.6  材质 135

8.7  阴影 136

8.8  着色 137

8.8.1  着色模式 137

8.8.2  设置着色模式 138

8.9  示例 138

8.9.1  光照和材质示例 138

8.9.2  显示实时动态阴影 140

9章  声  音 144

9.1  声音基础 144

9.1.1  声音的生成 144

9.1.2  声音的编码存储 145

9.1.3  声音的合成 146

9.2  irrKlang简介 146

9.3  irrKlang的使用 147

9.3.1  实践 Hello World 147

9.3.2  播放3D声音文件 151

9.3.3  声音特效 154

10章  粒子系统 157

10.1  粒子系统简介 157

10.2  粒子编辑器——irrEdit 158

10.2.1  添加自己的粒子系统 158

10.2.2  设置粒子系统 159

10.3  粒子系统各部分的代码实现 160

10.3.1  粒子结构 160

10.3.2  发射器 161

10.3.3  影响器 163

10.4  绘制一个粒子系统 164

10.4.1  编写代码完成一个简单的粒子系统 164

10.4.2  使用代码制作水面 169

10.4.3  环形粒子系统 173

11章  碰撞检测 177

11.1  碰撞检测概述 177

11.2  几何和数学知识 178

11.2.1  多边形和多面体 178

11.2.2   BSP179

11.2.3  空间四叉树和空间八叉树 179

11.2.4  Minkowski和与Minkowski180

11.2.5  包围体 181

11.3  常用的碰撞检测算法 183

11.3.1  距离跟踪法 183

11.3.2  基于图像空间的碰撞检测法 183

11.3.3  空间分解法 184

11.3.4  层次包围盒法 185

11.4  代码解析 185

12章  数据和文件的处理 192

12.1  Irrlicht文件系统简介 192

12.2  文件的读取和写入 194

12.2.1  写文件 194

12.2.2  普通文件的读写 195

12.2.3  一行一行读取和按分隔符读取 198

12.2.4  XML文件的读写 200

12.2.5  XML文件中加载数据 201

12.2.6  XML文件写入数据 204

12.2.7  XML文件中读取特殊数据类型的数据 205

12.3  从档案中读取数据 207

13章  着色器 210

13.1  图形渲染管线简介 210

13.2  着色器简介 211

13.2.1  顶点着色器 211

13.2.2  片断(像素)着色器 211

13.2.3  几何着色器 212

13.3  使用着色器 212

13.3.1  安装并使用GLSL demo 212

13.3.2  Irrlicht引擎中使用着色器 214

13.4  进一步了解着色器 223

14章  游戏人工智能 224

14.1  什么是智能 224

14.2  什么是游戏AI 225

14.3  AI的组成与设计 226

14.3.1  抉择与推理 226

14.3.2  解决方案的类型 226

14.3.3  智能体的反应能力 226

14.3.4  系统的真实性 226

14.3.5  游戏类型 227

14.3.6  游戏内容 227

14.3.7  游戏平台 227

14.4  AI的输入处理和感知 228

14.4.1  感知系统 228

14.4.2  更新规则 229

14.4.3  反应时间 229

14.4.4  门限 229

14.4.5  负荷平衡 229

14.4.6  计算代价与预处理 229

14.5  OpenSteer 230

15章  部署一个Irrlicht应用程序 232

15.1  什么是部署 232

15.2  针对不同平台打包发布应用 232

15.2.1  Windows平台下部署Irrlicht应用程序 232

15.2.2  Linux平台下部署Irrlicht应用程序 233

15.2.3  Mac OS X平台下部署Irrlicht应用程序 234

15.3  部署源代码 236

15.3.1  为什么要部署源代码 236

15.3.2  如何部署 236

Irrlicht 3D游戏引擎程序设计 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:Irrlicht 3D游戏引擎程序设计