内容简介
本书共分14章,内容涵盖了从OpenGLES3.x着色器的使用技巧到高级光影效果以及物理模拟问题的解决。介绍了OpenGLES3.x中的各种缓冲区对象和顶点着色器与片元着色器的使用技巧,以及高级光影效果的实现,如凹凸映射、环境反射、阴影、倒影、镜头光晕等。介绍了杰出的3D物理引擎Bullet(Ja和C++版本),详细介绍了骨骼动画的开发,包括加载ms3d骨骼动画以及开发自定义格式的骨骼动画。系统地讨论了OpenGLES3.x开发中的性能优化问题,介绍了OpenGLES3.1新增的计算着色器。给出了基于NDK的大型游戏案例——火力篮球和iOS下的3D游戏案例——方块翻转,方便读者快速上手应用。本书适合游戏开发者、程序员阅读,也适合大专院校相关专业师生的学习用书,以及培训学校的教材。
作者简介
吴亚峰,毕业于北京邮电大学,后留学卧龙岗大学取得硕士学位。1998年开始从事Ja应用的开发,有10多年的Ja开发与培训经验。主要的研究方向为OpenGLES、手机游戏、JaEE以及搜索引擎。同时为手机游戏、JaEE独立软件开发工程师,并兼任百纳科技Ja培训中心首席培训师。近十年来为数十家杰出企业培养了上千名高级软件开发人员,曾编写过《Android3D游戏案例开发大全》、《Android平板电脑开发实战详解和典型案例》、《Android游戏开发大全》、《Android应用案例开发大全》、《Unity3D游戏开发技术详解与典型案例》等多本畅销技术书籍。2008年年初开始关注Android平台下的应用开发,并开发出一系列杰出的Android3D应用程序与游戏。
目录
- 第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 图像渐变 ...