OpenGL ES 3x游戏开发 下PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:吴亚峰编著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2016
- ISBN:7115433657
- 页数:506 页
第1章 缓冲区对象 1
1.1 顶点缓冲区 1
1.1.1 基本知识 1
1.1.2 一个简单的案例 4
1.2 顶点数组对象 6
1.2.1 基本知识与案例效果 6
1.2.2 案例开发步骤 7
1.3 一致缓冲区对象 8
1.3.1 基本知识与案例效果 9
1.3.2 案例开发步骤 10
1.4 映射缓冲区对象 13
1.4.1 基本知识与案例效果 13
1.4.2 案例开发步骤 15
1.5 其他缓冲区对象操作 18
1.5.1 复制缓冲区对象 18
1.5.2 从颜色缓冲区复制纹理数据 18
1.6 帧缓冲与渲染缓冲 20
1.6.1 帧缓冲与渲染缓冲对象 20
1.6.2 案例开发步骤 23
1.7 多重渲染目标 26
1.7.1 基本知识 26
1.7.2 一个简单的案例 26
1.8 小结 29
第2章 顶点着色器的妙用 30
2.1 飘扬的旗帜 30
2.1.1 基本原理 30
2.1.2 开发步骤 31
2.2 扭动的软糖 33
2.2.1 基本原理 33
2.2.2 开发步骤 34
2.3 风吹椰林场景的开发 35
2.3.1 椰子树随风摇摆的基本原理 35
2.3.2 开发步骤 36
2.4 展翅飞翔的雄鹰 39
2.4.1 基本原理 39
2.4.2 开发步骤 40
2.5 二维扭曲 42
2.5.1 基本原理 42
2.5.2 开发步骤 43
2.6 吹气膨胀特效 45
2.6.1 特效基本原理 46
2.6.2 特效开发步骤 46
2.7 固定渲染管线与可编程渲染管线实现方案的对比 48
2.8 小结 49
第3章 片元着色器的妙用 50
3.1 程序纹理技术 50
3.1.1 砖块着色器 50
3.1.2 沙滩球着色器 52
3.2 数字图像处理 53
3.2.1 卷积的基本知识 53
3.2.2 平滑过滤 54
3.2.3 边缘检测 55
3.2.4 锐化处理 56
3.2.5 浮雕效果 56
3.2.6 图像渐变 58
3.2.7 卡通渲染特效 59
3.3 分形着色器 60
3.3.1 曼德布罗集简介 61
3.3.2 曼德布罗集着色器的实现 61
3.3.3 将曼德布罗集纹理应用到实际物体上 63
3.3.4 茱莉亚集着色器的实现 63
3.4 3D纹理的妙用 65
3.4.1 噪声函数的基础知识 65
3.4.2 柏林噪声函数生成工具 68
3.4.3 3D噪声纹理木头茶壶的开发 69
3.5 体积雾 72
3.5.1 基本原理 72
3.5.2 开发步骤 73
3.6 粒子系统火焰的开发 75
3.6.1 火焰的基本原理 75
3.6.2 普通版火焰 77
3.6.3 点精灵版火焰 82
3.6.4 变换反馈版火焰 85
3.7 小结 89
第4章 真实光学环境的模拟 90
4.1 反射环境模拟 90
4.1.1 案例效果与基本原理 90
4.1.2 反射环境开发步骤 91
4.2 折射环境模拟 93
4.2.1 案例效果与基本原理 93
4.2.2 开发步骤 95
4.3 色散效果的模拟 96
4.3.1 案例效果与基本原理 96
4.3.2 开发步骤 97
4.4 菲涅尔效果的模拟 97
4.4.1 案例效果与基本原理 97
4.4.2 菲涅尔效果开发步骤 98
4.5 凹凸映射 99
4.5.1 案例效果与基本原理 99
4.5.2 法向量纹理图的生成 100
4.5.3 切向量的计算 103
4.5.4 案例的开发 105
4.5.5 使用3ds Max制作法向量纹理图 109
4.6 高真实感地形 111
4.6.1 基本思路 111
4.6.2 一个简单的案例 112
4.7 镜头光晕 115
4.7.1 基本原理 115
4.7.2 一个简单的案例 116
4.8 小结 119
第5章 阴影及高级光照 120
5.1 投影贴图 120
5.1.1 案例效果与基本原理 120
5.1.2 开发步骤 121
5.2 阴影的重要性 123
5.3 平面阴影 125
5.3.1 案例效果与基本原理 125
5.3.2 开发步骤 126
5.4 阴影映射 129
5.4.1 阴影映射案例效果与基本原理 129
5.4.2 距离纹理图的生成 130
5.4.3 阴影场景的绘制 135
5.5 阴影贴图 138
5.5.1 案例效果与基本原理 138
5.5.2 开发步骤 139
5.6 静态光照贴图 140
5.6.1 案例效果与基本原理 140
5.6.2 使用3ds Max制作静态光照贴图 141
5.6.3 案例的开发 142
5.7 聚光灯高级光源 144
5.7.1 案例效果与基本原理 144
5.7.2 案例的开发 145
5.8 半球光照 146
5.8.1 案例效果与基本原理 146
5.8.2 案例的开发 148
5.9 光线跟踪 149
5.9.1 光线跟踪案例效果与基本原理 149
5.9.2 光线跟踪开发步骤 153
5.10 高级镜像技术 162
5.10.1 案例效果与基本原理 162
5.10.2 开发步骤 163
5.11 高真实感水面倒影 168
5.11.1 案例效果与基本原理 168
5.11.2 开发步骤 170
5.1 2运动模糊 175
5.12.1 普通运动模糊 176
5.12.2 高级运动模糊 179
5.13 小结 183
第6章 游戏开发中的物理学 184
6.1 碰撞检测基本技术 184
6.1.1 AABB包围盒的基本原理 184
6.1.2 AABB包围盒的计算 185
6.1.3 AABB包围盒的碰撞检测 186
6.1.4 一个AABB包围盒的案例 188
6.1.5 旋转后的AABB包围盒 189
6.1.6 AABB包围盒的使用要点 193
6.1.7 OBB包围盒 193
6.2 穿透效应 194
6.2.1 案例的运行效果与基本原理 194
6.2.2 具体开发步骤 195
6.3 粒子系统 195
6.3.1 案例运行效果与基本原理 195
6.3.2 CPU版案例的开发 196
6.3.3 GPU版案例开发步骤 197
6.4 弹簧质点模型模拟旗帜 199
6.4.1 弹簧质点模型基本原理 199
6.4.2 弹簧质点模型案例的运行效果及开发步骤 200
6.5 弹簧质点模型模拟球网 208
6.5.1 弹簧质点模型的基本原理 209
6.5.2 弹簧质点模型的案例的运行效果及开发步骤 209
6.6 小结 211
第7章 3D物理引擎一——JBullet 212
7.1 物理引擎很重要 212
7.1.1 什么是物理引擎 212
7.1.2 常见的物理引擎 212
7.2 JBullet物理引擎概览 214
7.2.1 基本的物理学概念 215
7.2.2 JBullet中常用类的介绍 216
7.3 箱子相互碰撞的案例 223
7.3.1 案例运行效果及准备工作 223
7.3.2 案例的基本框架结构 224
7.3.3 常量类——Constant 225
7.3.4 3D场景渲染类——MySurfaceView 225
7.3.5 水平地面——TexFloor类 227
7.3.6 箱子——TexCube类 228
7.4 复合碰撞形状的使用 229
7.4.1 案例运行效果 229
7.4.2 立方体圆柱复合形状——CubeCylinder类 229
7.5 凹凸地形的案例 231
7.5.1 案例运行效果 231
7.5.2 地形类——LandForm 232
7.6 任意形状物体的碰撞 233
7.6.1 案例运行效果 233
7.6.2 加载物体类——LoadedObject VertexNormal 233
7.6.3 加载物体刚体类——LoadRigidBody 234
7.7 铰链关节 235
7.7.1 铰链关节的基本知识 235
7.7.2 铰链关节案例的运行效果 236
7.7.3 铰链关节旋转角速度的计算 237
7.7.4 3D界面渲染类——MySurfaceView 238
7.8 滑动关节 240
7.8.1 滑动关节的基本知识 240
7.8.2 案例效果图 241
7.8.3 3D界面渲染类——MySurfaceView 241
7.9 六自由度关节 244
7.9.1 六自由度关节的基本知识 244
7.9.2 六自由度关节案例的运行 效果 245
7.9.3 人偶类——Doll 246
7.9.4 拾取时采用的点对点关节 247
7.10 交通工具 250
7.10.1 交通工具开发要点 250
7.10.2 交通工具案例的运行 效果 251
7.10.3 3D场景渲染类—— MySurfaceView 251
7.10.4 汽车类——Car 253
7.10.5 汽车绘制类—— VehicleDraw 257
7.11 小结 258
第8章 3D物理引擎二——Bullet 259
8.1 Bullet中的常用类和结构体 259
8.1.1 btScalar类——被封装的浮点类 259
8.1.2 btVector3类——三维向量类 259
8.1.3 btTransform类——变换类 261
8.1.4 btRigidBody类——刚体类 262
8.1.5 btDynamicsWorld类——物理世界类 263
8.1.6 btDiscreteDynamicsWorld类——离散物理世界类 264
8.1.7 btSoftRigidDynamicsWorld类——支持模拟软体的物理世界类 264
8.1.8 btCollisionShape类——碰撞形 状类 265
8.1.9 btStaticPlaneShape类——静态平 面形状 265
8.1.10 btSphereShape类——球体形 状类 266
8.1.11 btBoxShape类——长方体盒 碰撞形状类 266
8.1.12 btCylinderShape类——圆柱 形状类 266
8.1.13 btCapsuleShape类——胶囊 形状类 266
8.1.14 btConeShape类——圆锥形 状类 267
8.1.15 btCompoundShape类——复合碰撞形状类 267
8.2 简单的物理场景 267
8.2.1 案例运行效果 267
8.2.2 案例的基本框架结构 268
8.2.3 3D场景渲染类——GL2JNIView类 269
8.2.4 主控制类——HelloBulletActivity类 271
8.2.5 本地方法声明及动态库加载类——JNIPort类 272
8.2.6 封装的物体类——TexBody类 273
8.2.7 矩形绘制类——TextrueRect类 273
8.2.8 长方体物体类——TexCuboid类 276
8.2.9 水平地面类——TexPlane类 278
8.2.10 初始化及渲染函数文件——main.cpp 279
8.3 各式各样的物体下落 281
8.3.1 案例运行效果 281
8.3.2 圆锥物体类——TexCone类 282
8.3.3 球物体类——TexBall类 284
8.3.4 胶囊物体类——TexCapsule类 285
8.3.5 圆柱物体类——TexCylinderShape类 287
8.3.6 初始化及渲染函数文件——main.cpp 289
8.4 旋转的陀螺 290
8.4.1 案例运行效果 290
8.4.2 陀螺物体类——MyCompoundShape类 290
8.4.3 初始化及渲染函数文件——main.cpp 292
8.5 消失的木块 292
8.5.1 案例运行效果 292
8.5.2 初始化及渲染函数文件——main.cpp 293
8.6 物体碰撞下落 295
8.6.1 案例运行效果 295
8.6.2 初始化及渲染函数文件——main.cpp 296
8.7 关节 297
8.7.1 关节的父类——btTypedConstraint类 297
8.7.2 铰链关节——btHingeConstraint类 297
8.7.3 铰链关节的案例——球落门开 299
8.7.4 齿轮关节——btGearConstraint类 300
8.7.5 齿轮关节的案例——转动的齿轮 301
8.7.6 点对点关节——btPoint2Point Constraint类 302
8.7.7 点对点关节的案例——悬挂的物体 303
8.7.8 滑动关节——btSliderConstraint类 304
8.7.9 滑动关节的案例——六个方向的物体滑动 305
8.7.10 六自由度关节——btGeneric6 DofConstraint类 308
8.7.11 六自由度关节的案例——掉落的蜘蛛 309
8.8 三角形网格形状类 311
8.8.1 三角形索引数组类——btTriangle IndexVertexArray类 311
8.8.2 层次包围结构三角形网格形状类——btBvhTriangleMesh Shape类 312
8.8.3 层次包围结构三角形网格形状类的案例——波动的水纹 313
8.9 交通工具类 316
8.9.1 交通工具类——btRaycastVehicle类 317
8.9.2 交通工具的案例——移动的小车 318
8.10 固定三角形网格形状类 324
8.10.1 固定三角形网格形状类——btGImpactMeshShape类 324
8.10.2 固定形状物体案例 325
8.11 软体 327
8.11.1 软体帮助类——btSoftBody Helps类 327
8.11.2 软布案例 328
8.11.3 三角形网格软体案例 331
8.11.4 绳索软体案例 334
8.12 光线投射回调结构体 336
8.12.1 光线投射回调结构体ClosestRayResultCallback 336
8.12.2 光线投射的案例——旋转光线 337
8.13 小结 339
第9章 骨骼动画 340
9.1 自己开发骨骼动画 340
9.1.1 骨骼动画的基本原理 340
9.1.2 开发步骤 343
9.1.3 机器人模型在地面上运动时的问题 348
9.2 ms3d文件的加载 351
9.2.1 ms3d文件的格式 351
9.2.2 将3ds Max动画文件转换为ms3d文件 355
9.2.3 Java语言加载ms3d文件案例的开发 359
9.2.4 C++语言加载ms3d文件案例的开发 372
9.3 自定义格式骨骼动画的加载 373
9.3.1 bnggdh文件的格式 373
9.3.2 Bnggdh类 376
9.3.3 加载bnggdh文件的案例 377
9.4 小结 379
第10章 必知必会的开发技术——游戏开发小贴士 380
10.1 3D拾取技术 380
10.1.1 3D拾取案例效果与基本原理 380
10.1.2 开发步骤 382
10.2 多点触控 386
10.2.1 多点触控案例效果与基本原理 386
10.2.2 开发步骤 387
10.3 多键监听 389
10.3.1 案例效果与基本原理 389
10.3.2 开发步骤 390
10.4 小结 392
第11章 让应用运行更流畅——性能优化 393
11.1 着色器的优化 393
11.1.1 计算量与计算频率相关的问题 393
11.1.2 其他需要注意的问题 394
11.2 纹理图的优化 395
11.3 3D图形绘制的优化 396
11.3.1 CPU阶段的优化 396
11.3.2 几何阶段的优化 397
11.3.3 光栅化阶段的优化 398
11.3.4 使用帧缓冲区对象时的性能问题 398
11.3.5 尽量减少状态的变化 399
11.4 图元重启 399
11.4.1 基本原理 399
11.4.2 一个简单的案例 400
11.5 几何体实例渲染 401
11.5.1 基本原理 401
11.5.2 一个简单的案例 402
11.5.3 基于实例渲染的海量草地 403
11.6 着色器程序的外部加载 406
11.7 计算着色器的使用 409
11.7.1 基本知识 409
11.7.2 动态法向量光照水面案例 413
11.8 小结 418
第12章 杂项 419
12.1 遮挡查询 419
12.1.1 相关方法 419
12.1.2 案例开发步骤 420
12.2 增强现实基础 422
12.2.1 基本知识与案例效果 422
12.2.2 一个简单的案例 423
12.3 保存屏幕图像 426
12.4 读取Android系统的GPU参数 428
12.5 多重采样抗锯齿 429
12.5.1 基本知识与案例效果 429
12.5.2 一个简单的案例 430
12.6 小结 431
第13章 Android NDK体育竞技游戏——火力篮球 432
13.1 游戏背景及功能简述 432
13.1.1 背景概述 432
13.1.2 功能介绍 432
13.2 游戏的策划及准备工作 434
13.2.1 游戏的策划 434
13.2.2 Android平台下游戏开发的准备工作 435
13.3 游戏的架构 436
13.3.1 各个类简要介绍 436
13.3.2 游戏的框架简介 438
13.4 游戏公共类 439
13.4.1 游戏入口类——BasketBullet Activity 439
13.4.2 场景渲染类——GL2JNIView 440
13.4.3 本地方法声明及动态库加载类——JNIPort 442
13.4.4 现实本地方法的相关文件——jni code.c 443
13.4.5 现实本地方法的相关文件——main.cpp 443
13.5 辅助界面相关类 446
13.5.1 着色器管理类——ShaderManager 446
13.5.2 着色器脚本的开发 448
13.5.3 数据库工具类——SQLiteUtil 452
13.5.4 纹理矩形类—— TextureRect 454
13.5.5 游戏资源加载界面类——LoadingView 456
13.5.6 菜单界面类——MenuView 458
13.5.7 记录界面类——RecordView 460
13.6 游戏界面相关类 462
13.6.1 游戏界面类——GameView 462
13.6.2 墙面刚体封装类——TexCuboid 467
13.6.3 篮球刚体封装类——TexBall 468
13.6.4 任何形状类——AnyShapeByVectices 470
13.6.5 任何形状刚体封装类——TexTriangleMesh 473
13.6.6 任何形状软体封装类——SoftObj 474
13.7 游戏的优化及改进 476
第14章 iOS休闲类游戏——方块翻转 477
14.1 游戏背景及功能概述 477
14.1.1 游戏背景概述 477
14.1.2 游戏功能介绍 477
14.2 游戏的策划及准备工作 480
14.2.1 游戏的策划 480
14.2.2 手机平台下游戏的准备工作 480
14.3 游戏的架构 482
14.3.1 各个类简要介绍 482
14.3.2 游戏框架简介 484
14.4 界面显示类 485
14.4.1 GLView类 485
14.4.2 显示界面类RenderingEngine2 486
14.4.3 游戏界面类GameView 488
14.4.4 帮助界面类HelpView 491
14.5 辅助工具类 493
14.5.1 常量类Constant 493
14.5.2 计算交点坐标辅助类IntersectantUtil 494
14.6 绘制相关类 495
14.6.1 3D模型绘制类的开发 495
14.6.2 2D物体绘制类的开发 500
14.7 游戏的优化及改进 501
14.8 小结 502
- 《幼儿园游戏 规则性游戏》徐仁吉编 1951
- 《幼儿英语游戏活动指导与实训》苏小菊,任晓琴主编;颜晓芳,覃静,谢恬恬,钟博维副主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《近代体育游戏教育史料汇编 第1辑 1》王强主编 2016
- 《花样民游 幼儿园民间传统游戏的创新与指导》刘娟 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《近代体育游戏教育史料汇编 第2辑 2》王强主编 2016
- 《近代体育游戏教育史料汇编 第1辑 6》王强主编 2016
- 《主题公园开发与管理》梁增贤编著 2019
- 《近代体育游戏教育史料汇编 第2辑 3》王强主编 2016
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019