《Android 3D游戏开发与应用案例详解》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:郭少豪著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2012
  • ISBN:9787113152321
  • 页数:590 页
图书介绍:本书主要以Android平台下3D游戏的开发为主题,并结合真实的案例向读者详细介绍了0penGL Es的基础知识及3D游戏程序开发的整个流程。

第一部分:三维理论基础 3

第1章“窥望”Android的三维物理世界 3

1.1 Android操作系统简介 3

1.1.1 Android的现状与未来 4

1.1.2 Android的系统架构 4

1.1.3 Android的应用程序架构 5

1.2 Android的3D“硬”道理 5

1.2.1 ARM Cortex-A8中流砥柱 6

1.2.2 Tegra 2的强大动力 6

1.2.3智能电视机与顶盒 7

1.3三维图形系统在嵌入式设备的应用 7

1.3.1电子游戏与动画特效 8

1.3.2计算机辅助设计 8

1.3.3图形用户界面 9

1.3.4增强现实 9

1.3.5地理信息系统 10

1.3.6科学计算可视化 10

1.4三维图形技术与游戏开发 11

1.4.1三维游戏引擎简介 11

1.4.2物理引擎简介 12

1.5 Android应用开发准备 13

1.5.1创建第一个Android应用程序 13

1.5.2使用X86版本的Android调试程序 14

1.5.3使用USB实体设备调试程序 18

第2章 数学基础 21

2.1向量基础 21

2.1.1向量的模 22

2.1.2向量的归一化 22

2.1.3向量的加法与减法 23

2.1.4向量的数乘 23

2.1.5向量的内积与外积 23

2.1.6代码实现 24

2.2矩阵基础 28

2.2.1矩阵加法与减法 28

2.2.2矩阵数乘 29

2.2.3矩阵乘法 29

2.2.4单位矩阵 29

2.3图形变换 30

2.3.1平移变换 31

2.3.2旋转变换 32

2.3.3缩放变换 33

2.3.4对称变换 34

2.3.5错切变换 35

2.4几何基础 36

2.4.1两点间距离 36

2.4.2点线距离 36

2.4.3点在区域上的判定 36

2.4.4抛物线 37

2.4.5双曲线 38

2.4.6正弦曲线和余弦曲线 38

第3章 物理基础 41

3.1常用物理量及单位 41

3.2作用力 41

3.2.1力场 42

3.2.2摩擦力 42

3.2.3浮力 43

3.2.4流体阻力 44

3.2.5力矩 45

3.3牛顿运动定律 46

3.3.1牛顿第一运动定律 46

3.3.2牛顿第二运动定律 46

3.3.3牛顿第三运动定律 47

3.4胡克定律 47

3.5功能原理 48

3.6能量守恒定律 48

3.7碰撞 49

第二部分:深入探讨OpenGL ES 52

第4章 初识OpenGL ES 52

4.1 OpenGL简介 52

4.2 OpenGL与OpenGL ES的区别 54

4.3渲染流水线简介 56

4.3.1图元处理 57

4.3.2顶点缓冲对象 57

4.3.3变换与光照 57

4.3.4图元装配 57

4.3.5光栅化 58

4.3.6雾化处理 58

4.3.7 Alpha测试 58

4.3.8深度测试和模板测试 59

4.3.9颜色缓冲混合 59

4.3.10图像抖动 59

4.4实例:初始化OpenGL ES 60

第5章 几何图元的绘制 66

5.1绘图基础 66

5.1.1顶点绘制法绘制三角面 67

5.1.2索引绘制法绘制三角面 72

5.1.3更多的绘制模式 77

5.2绘制立体图形 79

5.2.1矩形平面 79

5.2.2圆形平面 86

5.2.3圆柱体 90

5.2.4圆锥体 93

5.2.5球体 97

5.2.6圆环 101

5.2.7抛物面 105

5.2.8双曲面 107

5.2.9立方体 109

5.3层次建模 115

5.4实例:机械臂动画的实现 116

第6章 视觉基础 122

6.1 OpenGL ES的坐标系 122

6.2视口变换 123

6.3投影变换 124

6.3.1平行投影 124

6.3.2透视投影 125

6.4模型变换 126

6.4.1平移 127

6.4.2旋转 127

6.4.3缩放 127

6.5视图变换与摄像机 128

6.6视觉合理化 129

6.7自定义变换矩阵 129

6.8深度测试 130

6.9背面剔除 131

6.10抗锯齿 132

6.11实例:构建一个简单小场景 133

第7章 纹理映射 137

7.1纹理坐标 137

7.2映射模式 144

7.2.1重复 144

7.2.2延伸 145

7.2.3纹理映射模式实例 145

7.3纹理过滤 148

7.4混合 149

7.4.1 混合因子 150

7.4.2启用混合 151

7.5实例:镭射闪灯效果 154

7.6实例:带纹理的简单小场景 159

第8章 光照与材质 169

8.1光与颜色的感知 169

8.1.1顶点法绘制颜色 170

8.1.2索引法绘制颜色 173

8.2 Phong光照模型 176

8.2.1漫反射光 177

8.2.2镜面反射光 177

8.2.3环境反射光 178

8.2.4 Phong模型的数学描述 178

8.3光源的设置 179

8.4顶点法线 180

8.4.1面着色法向量 181

8.4.2平滑着色法向量 188

8.4.3球体的法向量 192

8.5材质的设置 194

8.6实例:带光照的简单小场景 198

第9章 高级绘制技术与特效 204

9.1二维精灵的绘制 204

9.2文本绘制 215

9.3旗帜飘扬效果 218

9.4水波荡漾效果 224

9.5粒子系统 228

9.5.1基本概念 228

9.5.2基本原理 229

9.5.3粒子的类型 229

9.5.4雪花飘落的模拟 230

9.6天幕的构建与全景技术 233

9.6.1半球体天幕 234

9.6.2曲面天幕 234

9.6.3天空盒的构建 235

9.6.4全景技术简介 244

9.6.5柱形全景 245

9.6.6球形全景 245

9.6.7立方体全景 246

9.7地形的绘制 247

9.7.1高度图 247

9.7.2地形生成算法 248

9.7.3地表纹理 259

9.7.4地形的渲染 264

9.8雾化效果 270

9.9实例:构建真实的自然景貌场景 271

第10章 外部模型 276

10.1三维建模技术 276

10.1.1 Patch面片建模 277

10.1.2 NURBS曲面建模 277

10.1.3 Mesh多边形建模 277

10.2文本文件的读取 278

10.3 XML文件的读取 280

10.4正则表达式简介 284

10.4.1字符转义 286

10.4.2断言 286

10.4.3量词 286

10.5 OBJ格式模型 286

10.5.1 OBJ文件结构 286

10.5.2 OBJ文件的前缀 288

10.5.3材质库文件 288

10.5.4模型的解析与绘制 289

10.6 DAE格式模型 319

10.6.1文件结构解析 320

10.6.2动画数据解析 324

10.6.3模型的绘制 327

第11章 人机交互 333

11.1触摸屏 333

11.1.1触控事件 333

11.1.2触点移动旋转模型 334

11.1.3缩放手势缩放模型 338

11.2虚拟按键 344

11.2.1按键的绘制 344

11.2.2按键的响应 348

11.3传感器 355

11.3.1方向传感器 355

11.3.2加速度传感器 360

11.3.3光感传感器 361

11.4数据库的存储 361

11.4.1创建数据库 363

11.4.2创建表 363

11.4.3插入数据 363

11.4.4修改数据 364

11.4.5查询数据 364

11.4.6删除数据 365

11.5音乐与音效的播放 365

第三部分:三维图形引擎与物理引擎的探索实践 370

第12章 三维图形引擎的构建 370

12.1面向对象方法 370

12.2 UML类图建模 371

12.2.1依赖关系 372

12.2.2泛化关系 373

12.2.3关联关系 373

12.2.4实现关系 374

12.3引擎结构 375

12.3.1运行机制 376

12.3.2数学库 380

12.3.3数据结构 384

12.3.4公共工具 386

12.4场景组织 387

12.4.1场景坐标系 387

12.4.2资源管理 388

12.4.3场景对象树 389

12.4.4场景类的实现 391

12.5几何图形 402

12.5.1矩形平面 412

12.5.2圆形平面 415

12.5.3圆柱体 417

12.5.4圆锥体 420

12.5.5球体 422

12.5.6圆环 428

12.5.7抛物面 431

12.5.8双曲面 433

12.6场景高级元素 436

12.6.1粒子绘制 436

12.6.2地形绘制 441

12.6.3天空盒绘制 447

12.7外部模型 452

12.8用户界面 455

12.8.1二维精灵的绘制 455

12.8.2按钮的绘制与响应 456

12.9光照处理 456

12.9.1点光源 461

12.9.2方向光源 463

12.9.3聚光灯 465

12.10材质与特效 467

12.10.1纹理材质 468

12.10.2雾化效果 471

12.11摄像机 473

第13章 三维物理引擎的构建 476

13.1物理引擎概述 476

13.1.1物理引擎的应用 477

13.1.2一个简单的自由落体例子 478

13.2物理引擎的结构 481

13.2.1引擎的基本组成 482

13.2.2引擎文件目录介绍 482

13.2.3引擎各类之间的关系 484

13.2.4引擎运作原理与流程 486

13.3几何判定 492

13.3.1计算空间中两点的距离 492

13.3.2判断空间顶点是否在平面上 493

13.3.3计算顶点离平面的距离 494

13.3.4判断空间点是否在盒子内 495

13.3.5计算空间点到直线的距离 497

13.3.6矩阵运算 497

13.4碰撞检测算法与包围盒 499

13.4.1碰撞检测原理 499

13.4.2碰撞检测算法分类 499

13.5碰撞检测与响应 501

13.5.1质点碰撞 502

13.5.2刚体碰撞 504

13.5.3带摩擦力的刚体碰撞 507

13.5.4球体与球体的碰撞 508

13.5.5球体与平面的碰撞 512

13.5.6球体与盒子的碰撞 517

13.5.7实例:多球体碰撞模拟 520

13.5.8实例:更复杂的碰撞模拟 522

13.6力场 525

13.6.1实例:自由落体的模拟 527

13.6.2实例:浮力的模拟 529

13.7约束 532

13.7.1弹簧约束 532

13.7.2轻杆约束 534

13.7.3实例:地月系的物理运动模拟 536

第四部分:项目实战 540

第14章 项目实例:3D推箱子游戏 540

14.1项目概述 540

14.2游戏流程 541

14.3项目文件结构 541

14.4关卡生成器的设计 541

14.4.1关卡地图的生成 542

14.4.2关卡数据的导出 548

14.4.3关卡数据的导入 550

14.5游戏逻辑的实现 552

14.5.1游戏场景的初始化 555

14.5.2关卡数据的读入 557

14.5.3游戏场景的绘制 558

14.5.4游戏角色行为控制 561

14.5.5游戏逻辑控制 567

第15章 项目实例:牛顿摆的模拟 569

15.1牛顿摆的原理 569

15.2在3ds Max中的建模 570

15.3项目文件结构 573

15.4场景中物理对象的布局 573

15.5线段的绘制 574

15.6项目的逻辑实现 576