图书介绍
Android 3D游戏开发技术宝典 OpenGL ES 2.0PDF|Epub|txt|kindle电子书版本下载
- 吴亚峰著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115277701
- 出版时间:2012
- 标注页数:749页
- 文件大小:152MB
- 文件页数:763页
- 主题词:移动电话机-游戏程序-程序设计
PDF下载
下载说明
Android 3D游戏开发技术宝典 OpenGL ES 2.0PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 新一代的王者——Android概览1
1.1 智能手机市场现状1
1.1.1 五大智能手机操作系统1
1.1.2 智能手机市场的新星2
1.2 Android平台的特点及未来的趋势3
1.2.1 全新理念带来的体验风暴3
1.2.2 中国手机市场的主导性作用4
1.2.3 手机3D游戏和应用增长迅速4
1.3 如何搭建Android开发环境4
1.3.1 SDK的安装及环境配置5
1.3.2 Eclipse集成开发环境的搭建7
1.3.3 创建并启动模拟器9
1.4 Hello Android应用程序的开发11
1.4.1 第一个Android应用程序12
1.4.2 Android应用程序的项目结构14
1.4.3 Android应用程序的调试16
1.4.4 实际设备的联机调试18
1.5 Android应用程序运行的机制19
1.5.1 应用程序的系统架构19
1.5.2 应用程序框架20
1.5.3 Android运行时20
1.5.4 系统库21
1.5.5 底层Linux内核21
1.6 本章小结22
第2章 游戏开发相关Android基础知识23
2.1 游戏中的音效23
2.1.1 游戏中的即时音效23
2.1.2 即时音效的一个案例24
2.1.3 背景音乐播放技术27
2.1.4 简易音乐播放器的实现29
2.2 简单数据的存储——Preferences33
2.2.1 Preferences简介33
2.2.2 Preferences实现访问时间的记录33
2.3 手机自带数据库——SQLite34
2.3.1 初识SQLite35
2.3.2 SQLite数据库的基本操作35
2.3.3 SQLite数据库的简单案例37
2.3.4 使用ContentProvider组件共享数据40
2.3.5 使用ContentResolver获取分享数据42
2.4 文件I/O43
2.4.1 访问SD卡中的文件44
2.4.2 访问手机中的文件夹46
2.4.3 读取assets文件夹下的内容48
2.5 2D动画的开发50
2.5.1 SurfaceView用法简介50
2.5.2 使用SurfaceView实现2D动画50
2.6 Socket网络通信56
2.6.1 Socket开发基本知识56
2.6.2 服务器端57
2.6.3 客户端58
2.7 蓝牙通信59
2.7.1 蓝牙通信的基本知识60
2.7.2 聊天案例概览60
2.7.3 聊天案例的开发过程62
2.8 本章小结75
第3章 初识OpenGL ES 2.077
3.1 OpenGL ES 2.0概览77
3.1.1 OpenGL ES 2.0简介77
3.1.2 初识OpenGL ES 2.0应用程序80
3.2 着色器与渲染管线89
3.2.1 OpenGL ES 1.x的渲染管线89
3.2.2 OpenGL ES 2.0的渲染管线94
3.2.3 OpenGL ES中立体物体的构建97
3.3 主流Android手机GPU大PK98
3.3.1 手机GPU四大家族对比99
3.3.2 主流GPU的性能参数比较103
3.4 本章小结104
第4章 着色语言Shading Language105
4.1 着色语言概述105
4.2 着色语言基础106
4.2.1 数据类型概述106
4.2.2 数据类型的基本使用110
4.2.3 运算符112
4.2.4 类型转换114
4.2.5 限定符115
4.2.6 流程控制119
4.2.7 函数的声明与使用121
4.2.8 片元着色器中浮点变量精度的指定122
4.2.9 程序的基本结构123
4.3 特殊的内建变量123
4.3.1 顶点着色器中的内建变量124
4.3.2 片元着色器中的内建变量124
4.4 着色语言的内置函数125
4.4.1 角度转换与三角函数126
4.4.2 指数函数127
4.4.3 常见函数127
4.4.4 几何函数130
4.4.5 矩阵函数132
4.4.6 向量关系函数133
4.4.7 纹理采样函数134
4.4.8 微分函数135
4.5 本章小结135
第5章 投影及各种变换136
5.1 摄像机的设置136
5.2 两种投影方式137
5.2.1 正交投影137
5.2.2 透视投影145
5.3 各种变换148
5.3.1 基本变换的相关数学知识148
5.3.2 平移变换148
5.3.3 旋转变换152
5.3.4 缩放变换153
5.3.5 基本变换的实质155
5.4 绘制方式156
5.4.1 各种绘制方式概览156
5.4.2 点与线段绘制方式157
5.4.3 三角形条带与扇面绘制方式159
5.4.4 顶点法与索引法165
5.5 设置合理的视角167
5.6 卷绕和背面剪裁173
5.6.1 基本知识173
5.6.2 一个简单的案例174
5.7 本章小结176
第6章 光照177
6.1 曲面物体的构建177
6.1.1 球体构建的基本原理177
6.2.2 案例效果概览178
6.2.3 开发步骤179
6.2 基本光照效果182
6.2.1 光照的基本模型182
6.2.2 环境光183
6.2.3 散射光185
6.2.4 镜面光190
6.2.5 三种光照通道的合成194
6.3 定位光与定向光196
6.4 点法向量和面法向量199
6.5 光照的每顶点计算与每片元计算202
6.6 本章小结204
第7章 纹理映射205
7.1 初识纹理映射205
7.1.1 基本原理205
7.1.2 纹理映射的简单案例206
7.2 纹理拉伸212
7.2.1 两种拉伸方式概览212
7.2.2 不同拉伸方式的案例214
7.3 纹理采样217
7.3.1 纹理采样概述217
7.3.2 最近点采样218
7.3.3 线性纹理采样219
7.3.4 MIN与MAG采样220
7.3.5 不同纹理采样方式的案例221
7.4 mipmap纹理技术226
7.5 多重纹理与过程纹理227
7.5.1 案例概览227
7.5.2 将2D纹理映射到球面上的策略228
7.5.3 案例的场景结构229
7.5.4 开发过程230
7.6 本章小结238
第8章 3D基本形状的构建239
8.1 圆柱体239
8.1.1 顶点原始位置的生成239
8.1.2 案例的开发241
8.2 圆锥体244
8.2.1 顶点原始位置的生成244
8.2.2 案例的开发246
8.3 圆环体248
8.3.1 顶点原始位置的生成248
8.3.2 案例的开发249
8.4 螺旋管251
8.4.1 顶点原始位置的生成252
8.4.2 案例的开发252
8.5 几何球253
8.5.1 顶点原始位置的生成254
8.5.2 案例的开发255
8.6 足球碳分子模型的搭建262
8.6.1 搭建的基本原理262
8.6.2 案例的开发264
8.7 贝塞尔曲线及旋转面270
8.7.1 三维旋转曲面的生成270
8.7.2 贝塞尔曲线270
8.7.3 Bezier曲线生成工具272
8.7.4 印度古典建筑场景的开发274
8.8 本章小结276
第9章 3D模型加载277
9.1 obj模型文件概览277
9.1.1 obj文件的格式277
9.1.2 用3DMax设计3D模型278
9.2 加载obj文件279
9.2.1 加载仅有顶点坐标与面数据的obj文件279
9.2.2 加载后自动计算面法向量283
9.2.3 加载后自动计算平均法向量286
9.2.4 加载纹理坐标289
9.3 本章小结292
第10章 混合与雾293
10.1 混合技术293
10.1.1 混合基本知识293
10.1.2 源因子和目标因子294
10.1.3 简单混合效果案例295
10.2 地月系云层效果的实现297
10.3 雾300
10.3.1 雾的原理与优势300
10.3.2 雾的简单实现301
10.4 本章小结304
第11章 常用3D开发技巧305
11.1 标志板305
11.1.1 案例效果与基本原理305
11.1.2 开发步骤306
11.2 灰度图地形310
11.2.1 基本原理311
11.2.2 普通灰度图地形311
11.2.3 过程纹理地形314
11.2.4 MipMap地形317
11.3 天空盒与天空穹318
11.3.1 天空盒318
11.3.2 天空穹320
11.3.3 天空盒与天空穹的使用技巧321
11.4 镜像技术322
11.4.1 镜像基本原理322
11.4.2 基本效果案例322
11.4.3 升级效果案例325
11.5 动态文本输出327
11.5.1 案例效果与基本原理327
11.5.2 具体开发步骤328
11.6 非真实感绘制330
11.6.1 案例效果与基本原理330
11.6.2 具体开发步骤331
11.7 本章小结332
第12章 几种剪裁与测试333
12.1 剪裁测试333
12.1.1 基本原理与核心代码333
12.1.2 一个主次视角的简单案例334
12.2 Alpha测试335
12.2.1 Alpha测试基本原理335
12.2.2 一个椭圆窗口的案例335
12.3 模板测试337
12.3.1 基本原理337
12.3.2 一个简单的案例340
12.4 任意剪裁平面341
12.4.1 基本原理341
12.4.2 茶壶被任意平面剪裁的案例342
12.5 本章小结344
第13章 顶点着色器的妙用345
13.1 飘扬的旗帜345
13.1.1 基本原理345
13.1.2 开发步骤346
13.2 扭动的软糖349
13.2.1 基本原理349
13.2.2 开发步骤350
13.3 风吹椰林场景的开发351
13.3.1 椰子树随风摇摆的基本原理351
13.3.2 开发步骤352
13.4 展翅飞翔的雄鹰356
13.4.1 基本原理356
13.4.2 开发步骤357
13.5 二维扭曲359
13.5.1 基本原理359
13.5.2 开发步骤360
13.6 OpenGL ES 1.x与OpenGL ES 2.0实现方案的对比363
13.7 本章小结364
第14章 片元着色器的妙用365
14.1 程序纹理技术365
14.1.1 砖块着色器365
14.1.2 沙滩球着色器367
14.2 数字图像处理368
14.2.1 卷积的基本知识369
14.2.2 平滑过滤369
14.2.3 边缘检测371
14.2.4 锐化处理372
14.2.5 浮雕效果373
14.2.6 图像渐变374
14.3 分形着色器375
14.3.1 曼德布罗集简介375
14.3.2 曼德布罗集着色器的实现376
14.3.3 将曼德布罗集纹理应用到实际物体上378
14.3.4 茱莉亚集着色器的实现379
14.4 本章小结380
第15章 真实光学环境的模拟381
15.1 投影贴图381
15.1.1 案例效果与基本原理381
15.1.2 开发步骤382
15.2 反射环境模拟385
15.2.1 案例效果与基本原理385
15.2.2 开发步骤386
15.3 折射环境模拟388
15.3.1 案例效果与基本原理388
15.3.2 开发步骤390
15.4 色散效果的模拟391
15.4.1 案例效果与基本原理391
15.4.2 开发步骤392
15.5 菲涅尔效果的模拟393
15.5.1 案例效果与基本原理393
15.5.2 开发步骤394
15.6 凹凸映射395
15.6.1 案例效果与基本原理395
15.6.2 法向量纹理图的生成396
15.6.3 案例的开发399
15.7 平面阴影404
15.7.1 案例效果与基本原理405
15.7.2 开发步骤406
15.8 阴影映射409
15.8.1 案例效果与基本原理409
15.8.2 距离纹理图的生成411
15.8.3 阴影场景的绘制417
15.9 光线跟踪419
15.9.1 案例效果与基本原理419
15.9.2 开发步骤423
15.10 本章小结436
第16章 游戏开发中的物理学437
16.1 碰撞检测基本技术437
16.1.1 AABB包围盒的基本原理437
16.1.2 AABB包围盒的计算438
16.1.3 AABB包围盒的碰撞检测440
16.1.4 一个AABB包围盒的案例442
16.1.5 旋转后的AABB包围盒444
16.1.6 AABB包围盒的使用要点448
16.1.7 OBB包围盒448
16.2 穿透效应449
16.2.1 案例的运行效果与基本原理449
16.2.2 具体开发步骤450
16.3 粒子系统450
16.3.1 案例运行效果与基本原理451
16.3.2 CPU版案例的开发452
16.3.3 GPU版案例开发步骤453
16.4 弹簧质点模型455
16.4.1 案例运行效果与基本原理455
16.4.2 具体开发步骤457
16.5 本章小结462
第17章 游戏的心脏——物理引擎463
17.1 物理引擎很重要463
17.1.1 什么是物理引擎463
17.1.2 常见的物理引擎463
17.2 JBullet物理引擎466
17.2.1 基本的物理学概念466
17.2.2 JBullet中常用类的介绍468
17.3 箱子相互碰撞的案例475
17.3.1 案例运行效果及准备工作476
17.3.2 案例的基本框架结构476
17.3.3 常量类——Constant477
17.3.4 3D场景渲染类——MySurfaceView478
17.3.5 水平地面——TexFloor类480
17.3.6 箱子——FexCube类481
17.4 复合碰撞形状的使用483
17.4.1 案例运行效果483
17.4.2 立方体圆柱复合形状——CubeCylinder类483
17.5 凹凸地形的案例486
17.5.1 案例运行效果486
17.5.2 地形类——LandForm486
17.6 任意形状物体的碰撞488
17.6.1 案例运行效果488
17.6.2 加载物体类——Loaded ObjectVertexNormal488
17.6.3 加载物体刚体类——LoadRigidBody490
17.7 铰链关节491
17.7.1 铰链关节的基本知识491
17.7.2 案例的运行效果492
17.7.3 铰链关节旋转角速度的计算493
17.7.4 3D界面渲染类——MySurfaceView494
17.8 滑动关节496
17.8.1 滑动关节的基本知识496
17.8.2 案例效果图497
17.8.3 3D界面渲染类——MySurfaceView498
17.9 六自由度关节502
17.9.1 六自由度关节的基本知识502
17.9.2 案例的运行效果503
17.9.3 人偶类——Doll503
17.9.4 拾取时采用的点对点关节505
17.10 本章小结509
第18章 传感器应用的开发510
18.1 基本的开发流程510
18.2 加速度传感器512
18.2.1 加速度传感器简介513
18.2.2 案例的开发514
18.3 磁场传感器514
18.3.1 磁场传感器简介514
18.3.2 案例的开发514
18.4 光传感器516
18.4.1 光传感器简介516
18.4.2 案例的开发516
18.5 温度传感器518
18.5.1 温度传感器简介518
18.5.2 案例的开发518
18.6 接近传感器519
18.6.1 接近传感器简介519
18.6.2 案例的开发520
18.7 姿态传感器521
18.7.1 姿态传感器简介521
18.7.2 案例的开发522
18.8 本章小结528
第19章 游戏开发小贴士529
19.1 3D拾取技术529
19.1.1 案例效果与基本原理529
19.1.2 开发步骤531
19.2 多点触控537
19.2.1 案例效果与基本原理537
19.2.2 开发步骤538
19.3 多键监听541
19.3.1 案例效果与基本原理541
19.3.2 开发步骤542
19.4 本章小结544
第20章 BN赛艇545
20.1 游戏背景及功能概述545
20.1.1 背景概述545
20.1.2 功能介绍545
20.2 游戏的策划及准备工作547
20.2.1 游戏的策划547
20.2.2 Android平台下游戏的准备工作548
20.3 游戏的架构552
20.3.1 各个类简要介绍553
20.3.2 游戏框架简介558
20.4 主控制类MyActivity559
20.5 2D界面相关类563
20.5.1 欢迎界面类WelcomeView563
20.5.2 2D界面父类MySFView565
20.5.3 主菜单类MenuView565
20.5.4 2D界面绘制类ViewForDraw566
20.5.5 数据库工具类DBUtil568
20.5.6 Android系统版本对话框AndroidVersionDialog570
20.6 选船界面相关类570
20.6.1 着色器管理类ShaderManager571
20.6.2 围墙类ColorLightRect571
20.6.3 选船房间类HouseForDraw573
20.6.4 展台类DisplayStation575
20.6.5 赛艇类Boat576
20.6.6 选船界面XCSurfaceView576
20.7 游戏界面相关类582
20.7.1 进度条类Process583
20.7.2 3D物体父类BNDrawer584
20.7.3 3D物体控制类TDObjectForControl584
20.7.4 赛艇类Boat585
20.7.5 可碰撞物体父类KZBJDrawer586
20.7.6 可碰撞物体控制类KZBJForControl587
20.7.7 赛艇与可碰撞物体检测碰撞线程ThreadColl589
20.7.8 可吃物体父类SpeedForEat590
20.7.9 可吃物体控制类SpeedForControl590
20.7.10 晶体旋转线程RotateThread592
20.7.11 赛艇与晶体碰撞检测线程ThreadForEat592
20.7.12 比较两灌木距离摄像机距离类MyComparable593
20.7.13 单个灌木类SingleShrub594
20.7.14 灌木控制类ShrubForControl595
20.7.15 赛艇赛道类RaceTrack596
20.7.16 赛艇与桥碰撞检测类PZZ598
20.7.17 赛艇运动路线工具类PathUtil598
20.7.18 尾浪类WeiLang599
20.7.19 水面类Water600
20.7.20 游戏界面类MyGLSurfaceView601
20.7.21 运动监听线程KeyThread611
20.8 该游戏中的着色器613
20.9 游戏的优化与改进615
第21章 火力篮球616
21.1 游戏背景及功能概述616
21.1.1 背景概述616
21.1.2 功能介绍616
21.2 游戏的策划及准备工作618
21.2.1 游戏的策划618
21.2.2 Android平台下游戏开发的准备工作619
21.3 游戏的架构620
21.3.1 各个类简要介绍620
21.3.2 游戏框架简介623
21.4 公共类BasketBall_Shot_Activity624
21.5 辅助界面相关类631
21.5.1 主菜单界面CaiDanView类631
21.5.2 设置界面ShengyinKGJiemian类636
21.5.3 关于界面GuanYuView类640
21.5.4 记录界面JiLuView类644
21.5.5 数据库相关类SQLiteUtil650
21.6 游戏界面相关类651
21.6.1 游戏界面绘制类GLGameView651
21.6.2 着色器程序管理器类ShaderManager668
21.6.3 添加刚体进物理世界类TianjiaBody669
21.6.4 添加胶囊刚体进物理世界类JiaoNangTianjiaBody670
21.6.5 篮球控制类BasketBallForDraw671
21.6.6 纹理矩形绘制类WenLiJuXing672
21.7 游戏中着色器的开发674
21.7.1 纹理的着色器674
21.7.2 光照着色器675
21.7.3 影子着色器677
21.7.4 仪表盘背景着色器679
21.7.5 篮网着色器680
21.8 游戏的优化与改进681
第22章 夜鹰行动682
22.1 游戏背景及功能概述682
22.1.1 背景概述682
22.1.2 功能介绍682
22.2 游戏的策划及准备工作685
22.2.1 游戏的策划686
22.2.2 Android平台下游戏开发的准备工作686
22.3 游戏的架构690
22.3.1 各个类的简要介绍690
22.3.2 游戏框架简介694
22.4 公共类Aircraft_Activity695
22.5 游戏相关类698
22.5.1 游戏界面绘制类GLGameView698
22.5.2 游戏线程类KeyThread712
22.5.3 子弹类BulletForControl726
22.5.4 坦克类TanKe732
22.5.5 山地绘制类LandForm737
22.5.6 颜色圆面类CircleForDraw739
22.5.7 星空类SkyNight740
22.5.8 爆炸效果绘制类DrawBomb742
22.5.9 数字绘制类NumberForDraw743
22.6 该游戏中的着色器744
22.6.1 加载界面着色器744
22.6.2 地形着色器745
22.6.3 按钮着色器747
22.6.4 星空着色器748
22.6.5 生命值矩形着色器748
22.6.6 颜色圆面着色器748
22.7 游戏的优化与改进749