图书介绍

OpenGL ES 3x游戏开发 下PDF|Epub|txt|kindle电子书版本网盘下载

OpenGL ES 3x游戏开发 下
  • 吴亚峰编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115433657
  • 出版时间:2016
  • 标注页数:506页
  • 文件大小:111MB
  • 文件页数:527页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

OpenGL ES 3x游戏开发 下PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第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物理引擎一——JBullet212

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 常量类——Constant225

7.3.4 3D场景渲染类——MySurfaceView225

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 地形类——LandForm232

7.6 任意形状物体的碰撞233

7.6.1 案例运行效果233

7.6.2 加载物体类——LoadedObject VertexNormal233

7.6.3 加载物体刚体类——LoadRigidBody234

7.7 铰链关节235

7.7.1 铰链关节的基本知识235

7.7.2 铰链关节案例的运行效果236

7.7.3 铰链关节旋转角速度的计算237

7.7.4 3D界面渲染类——MySurfaceView238

7.8 滑动关节240

7.8.1 滑动关节的基本知识240

7.8.2 案例效果图241

7.8.3 3D界面渲染类——MySurfaceView241

7.9 六自由度关节244

7.9.1 六自由度关节的基本知识244

7.9.2 六自由度关节案例的运行 效果245

7.9.3 人偶类——Doll246

7.9.4 拾取时采用的点对点关节247

7.10 交通工具250

7.10.1 交通工具开发要点250

7.10.2 交通工具案例的运行 效果251

7.10.3 3D场景渲染类—— MySurfaceView251

7.10.4 汽车类——Car253

7.10.5 汽车绘制类—— VehicleDraw257

7.11 小结258

第8章 3D物理引擎二——Bullet259

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.cpp279

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.cpp289

8.4 旋转的陀螺290

8.4.1 案例运行效果290

8.4.2 陀螺物体类——MyCompoundShape类290

8.4.3 初始化及渲染函数文件——main.cpp292

8.5 消失的木块292

8.5.1 案例运行效果292

8.5.2 初始化及渲染函数文件——main.cpp293

8.6 物体碰撞下落295

8.6.1 案例运行效果295

8.6.2 初始化及渲染函数文件——main.cpp296

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 光线投射回调结构体ClosestRayResultCallback336

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 Activity439

13.4.2 场景渲染类——GL2JNIView440

13.4.3 本地方法声明及动态库加载类——JNIPort442

13.4.4 现实本地方法的相关文件——jni code.c443

13.4.5 现实本地方法的相关文件——main.cpp443

13.5 辅助界面相关类446

13.5.1 着色器管理类——ShaderManager446

13.5.2 着色器脚本的开发448

13.5.3 数据库工具类——SQLiteUtil452

13.5.4 纹理矩形类—— TextureRect454

13.5.5 游戏资源加载界面类——LoadingView456

13.5.6 菜单界面类——MenuView458

13.5.7 记录界面类——RecordView460

13.6 游戏界面相关类462

13.6.1 游戏界面类——GameView462

13.6.2 墙面刚体封装类——TexCuboid467

13.6.3 篮球刚体封装类——TexBall468

13.6.4 任何形状类——AnyShapeByVectices470

13.6.5 任何形状刚体封装类——TexTriangleMesh473

13.6.6 任何形状软体封装类——SoftObj474

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 显示界面类RenderingEngine2486

14.4.3 游戏界面类GameView488

14.4.4 帮助界面类HelpView491

14.5 辅助工具类493

14.5.1 常量类Constant493

14.5.2 计算交点坐标辅助类IntersectantUtil494

14.6 绘制相关类495

14.6.1 3D模型绘制类的开发495

14.6.2 2D物体绘制类的开发500

14.7 游戏的优化及改进501

14.8 小结502

热门推荐