主页 详情

《OpenGL ES 3.x游戏开发 上》_吴亚峰编著_14072839_9787115433497

【书名】:《OpenGL ES 3.x游戏开发 上》
【作者】:吴亚峰编著
【出版社】:北京:人民邮电出版社
【时间】:2016
【页数】:486
【ISBN】:9787115433497
【SS码】:14072839

最新查询

内容简介

第1章 Android概述

1.1 Android平台的特点及未来的趋势

1.1.1 全新理念带来的体验风暴

1.1.2 手机3D游戏和应用增长迅速

1.2 搭建Android开发环境

1.2.1 JDK的安装及环境变量的配置

1.2.2 Android SDK的下载与配置

1.2.3 Eclipse集成开发环境的下载与配置

1.2.4 创建并启动模拟器

1.3 Hello Android应用程序的开发

1.3.1 第一个Android应用程序

1.3.2 Android应用程序的项目结构

1.3.3 Android应用程序的调试

1.3.4 实际设备的联机调试

1.4 已有Android项目的导入和运行

1.4.1 项目的导入

1.4.2 应用程序的运行

1.5 Android应用程序运行的机制

1.5.1 应用程序的系统架构

1.5.2 应用程序框架

1.5.3 Android运行时

1.5.4 系统库

1.5.5 底层Linux内核

1.6 小结

第2章 游戏开发相关的Android基础知识

2.1 游戏中的音效

2.1.1 游戏中的即时音效

2.1.2 即时音效的一个案例

2.1.3 背景音乐播放技术

2.1.4 简易音乐播放器的实现

2.2 简单数据的存储——Preferences

2.2.1 Preferences简介

2.2.2 Preferences实现访问时间的记录

2.3 手机自带数据库——SQLite

2.3.1 初识SQLite

2.3.2 SQLite数据库的基本操作

2.3.3 SQLite数据库的简单案例

2.3.4 使用ContentProvider组件共享数据

2.3.5 使用ContentResolver获取分享数据

2.4 文件I/O

2.4.1 访问SD卡中的文件

2.4.2 访问手机中的文件夹

2.4.3 读取assets文件夹下的内容

2.5 Socket网络通信

2.5.1 Socket开发基本知识

2.5.2 服务器端

2.5.3 客户端

2.6 蓝牙通信

2.6.1 蓝牙通信的基本知识

2.6.2 聊天案例概览

2.6.3 聊天案例的开发过程

2.7 小结

第3章 初识OpenGL ES 3.x

3.1 OpenGL ES 3.x概述

3.1.1 OpenGL ES 3.x简介

3.1.2 初识OpenGL ES 3.0应用程序

3.1.3 OpenGL ES 3.1 新特性简介

3.2 着色器与渲染管线

3.2.1 OpenGL ES 2.0的渲染管线

3.2.2 OpenGL ES 3.0的渲染管线

3.2.3 OpenGL ES中立体物体的构建

3.3 主流手机GPU大PK

3.3.1 手机GPU四大家族对比

3.3.2 主流GPU的性能参数比较

3.4 小结

第4章 着色语言Shading Language

4.1 着色语言概述

4.2 着色语言基础

4.2.1 数据类型概述

4.2.2 数据类型的基本使用

4.2.3 运算符

4.2.4 构造函数

4.2.5 类型转换

4.2.6 存储限定符

4.2.7 插值限定符

4.2.8 一致块

4.2.9 layout限定符

4.2.10 流程控制

4.2.11 函数的声明与使用

4.2.12 片元着色器中浮点变量精度的指定

4.2.13 程序的基本结构

4.3 特殊的内建变量

4.3.1 顶点着色器中的内建变量

4.3.2 片元着色器中的内建变量

4.3.3 内建常量

4.3.4 内建uniform变量

4.4 着色语言的内置函数

4.4.1 角度转换与三角函数

4.4.2 指数函数

4.4.3 常见函数

4.4.4 几何函数

4.4.5 矩阵函数

4.4.6 向量关系函数

4.4.7 纹理采样函数

4.4.8 微分函数

4.4.9 浮点数的打包与解包函数

4.5 用invariant修饰符避免值变问题

4.6 预处理器

4.7 小结

第5章 必知必会的3D开发知识——投影及各种变换

5.1 摄像机的设置

5.2 两种投影方式

5.2.1 正交投影

5.2.2 透视投影

5.3 各种变换

5.3.1 基本变换的相关数学知识

5.3.2 平移变换

5.3.3 旋转变换

5.3.4 缩放变换

5.3.5 基本变换的实质

5.4 所有变换的完整流程

5.5 绘制方式

5.5.1 各种绘制方式概览

5.5.2 点与线段绘制方式

5.5.3 三角形条带与扇面绘制方式

5.5.4 顶点法与索引法

5.5.5 layout限定符的使用

5.6 顶点常量属性

5.6.1 顶点常量基本知识

5.6.2 一个简单的案例

5.7 设置合理的视角

5.8 设置合理的透视参数

5.9 多边形偏移

5.10 卷绕和背面剪裁

5.10.1 基本知识

5.10.2 一个简单的案例

5.11 小结

第6章 光照

6.1 曲面物体的构建

6.1.1 球体构建的基本原理

6.1.2 案例效果概览

6.1.3 开发步骤

6.2 基本光照效果

6.2.1 光照的基本模型

6.2.2 环境光

6.2.3 散射光

6.2.4 镜面光

6.2.5 三种光照通道的合成

6.3 定位光与定向光

6.4 点法向量和面法向量

6.5 光照的每顶点计算与每片元计算

6.6 小结

第7章 纹理映射

7.1 初识纹理映射

7.1.1 基本原理

7.1.2 一个简单的案例

7.1.3 色彩通道的灵活组合

7.2 纹理拉伸

7.2.1 三种拉伸方式概览

7.2.2 不同拉伸方式的案例

7.3 纹理采样

7.3.1 纹理采样概述

7.3.2 最近点采样

7.3.3 线性纹理采样

7.3.4 MIN与MAG采样

7.3.5 不同纹理采样方式的案例

7.4 mipmap纹理技术

7.5 多重纹理与过程纹理

7.5.1 案例概览

7.5.2 将2D纹理映射到球面上的策略

7.5.3 案例的场景结构

7.5.4 开发过程

7.6 压缩纹理的使用

7.7 点精灵

7.7.1 基本知识

7.7.2 一个简单案例

7.8 3D纹理

7.9 2D纹理数组

7.10 采样器配置对象的使用

7.11 小结

第8章 3D基本形状的构建

8.1 圆柱体

8.1.1 顶点原始位置的生成

8.1.2 案例的开发

8.2 圆锥体

8.2.1 顶点原始位置的生成

8.2.2 案例的开发

8.3 圆环体

8.3.1 顶点原始位置的生成

8.3.2 案例的开发

8.4 螺旋管

8.4.1 顶点原始位置的生成

8.4.2 案例的开发

8.5 几何球

8.5.1 顶点原始位置的生成

8.5.2 案例的开发

8.6 足球碳分子模型的搭建

8.6.1 搭建的基本原理

8.6.2 案例的开发

8.7 贝塞尔曲线及旋转面

8.7.1 三维旋转曲面的生成

8.7.2 贝塞尔曲线

8.7.3 Bezier曲线生成工具

8.7.4 印度古典建筑场景的开发

8.8 小结

第9章 更逼真的游戏场景——3D模型加载

9.1 obj模型文件概述

9.1.1 obj文件的格式

9.1.2 用3ds Max设计3D模型

9.2 加载obj文件

9.2.1 加载仅有顶点坐标与面数据的obj文件

9.2.2 加载后自动计算面法向量

9.2.3 加载后自动计算平均法向量

9.2.4 加载纹理坐标

9.2.5 加载顶点法向量

9.3 双面光照

9.4 小结

第10章 独特的场景渲染技术——混合与雾

10.1 混合技术

10.1.1 混合基本知识

10.1.2 源因子和目标因子

10.1.3 简单混合效果案例

10.1.4 ETC2压缩纹理的使用

10.2 地月系云层效果的实现

10.3 雾

10.3.1 雾的原理与优势

10.3.2 雾的简单实现

10.4 小结

第11章 常用的3D开发技巧——标志板、天空盒、镜像绘制等

11.1 标志板

11.1.1 案例效果与基本原理

11.1.2 开发步骤

11.2 灰度图地形

11.2.1 基本原理

11.2.2 普通灰度图地形

11.2.3 过程纹理地形

11.2.4 MipMap地形

11.2.5 顶点着色器采样纹理地形

11.3 用粒子沉积算法构建地形

11.3.1 粒子沉积法的基本原理

11.3.2 地形设计器的使用

11.3.3 粒子沉积的核心算法类

11.4 天空盒与天空穹

11.4.1 天空盒

11.4.2 天空穹

11.4.3 天空盒与天空穹的使用技巧

11.5 简单镜像效果

11.5.1 镜像基本原理

11.5.2 基本效果案例

11.5.3 升级效果案例

11.6 动态文本输出

11.6.1 案例效果与基本原理

11.6.2 具体开发步骤

11.7 非真实感绘制

11.7.1 基本原理与案例效果

11.7.2 具体开发步骤

11.8 描边效果的实现

11.8.1 沿法线挤出轮廓

11.8.2 在视空间中挤出

11.9 小结

第12章 渲染出更加酷炫的3D场景——几种剪裁与测试

12.1 剪裁测试

12.1.1 基本原理与核心代码

12.1.2 一个主次视角的简单案例

12.2 Alpha测试

12.2.1 Alpha测试基本原理

12.2.2 一个椭圆窗口的案例

12.3 模板测试

12.3.1 基本原理

12.3.2 一个简单的案例

12.4 任意剪裁平面

12.4.1 基本原理

12.4.2 茶壶被任意平面剪裁的案例

12.5 小结

第13章 引人入胜的游戏特性——传感器应用开发

13.1 基本的开发流程

13.2 加速度传感器

13.2.1 加速度传感器简介

13.2.2 案例的开发

13.3 磁场传感器

13.3.1 磁场传感器简介

13.3.2 案例的开发

13.4 陀螺仪传感器

13.4.1 陀螺仪传感器简介

13.4.2 案例的开发

13.5 光传感器

13.5.1 光传感器简介

13.5.2 案例的开发

13.6 温度传感器

13.6.1 温度传感器简介

13.6.2 案例的开发

13.7 接近传感器

13.7.1 接近传感器简介

13.7.2 案例的开发

13.8 姿态传感器

13.8.1 姿态传感器简介

13.8.2 案例的开发

13.9 加速度传感器综合案例

13.10 传感器的坐标轴问题

13.11 小结

第14章 Android NDK及iOS平台下的OpenGL ES开发

14.1 使用Android NDK进行OpenGL ES开发

14.1.1 Android NDK开发环境的下载及配置

14.1.2 Android NDK项目在Eclipse中的配置

14.1.3 使用Android NDK开发简单的 OpenGL ES 3.0程序

14.2 使用Android NDK开发山地地形场景

14.2.1 案例效果及山地绘制类的开发

14.2.2 NDK端渲染函数的开发

14.3 基于iOS平台开发OpenGL ES 3.0程序

14.3.1 案例运行效果及Xcode项目的创建

14.3.2 案例的开发过程

14.4 基于iOS平台的地月系场景案例

14.4.1 案例的运行效果

14.4.2 案例的开发过程

14.5 小结

第15章 Web端3D游戏开发——WebGL3D应用开发

15.1 WebGL概览

15.1.1 WebGL简介

15.1.2 WebGL效果展示

15.2 初识WebGL应用

15.2.1 WebGL应用案例部署运行步骤简介

15.2.2 简单渲染3D模型案例的开发

15.3 加入光照效果的WebGL案例

15.4 带有纹理贴图的WebGL案例

15.4.1 一个简单的案例

15.4.2 WebGL版的地月系案例

15.5 小结

第16章 休闲类游戏——3D可爱抓娃娃

16.1 游戏的背景及功能概述

16.1.1 背景描述

16.1.2 功能介绍

16.2 游戏的策划及准备工作

16.2.1 游戏的策划

16.2.2 手机平台下游戏的准备工作

16.3 游戏的架构

16.3.1 各个类的简要介绍

16.3.2 游戏框架简介

16.4 界面显示类

16.4.1 显示界面类MySurfaceView

16.4.2 游戏界面类GameView

16.4.3 游戏主菜单界面类 MainView

16.5 辅助工具类

16.5.1 辅助类

16.5.2 自定义管理器类

16.5.3 线程类

16.6 绘制相关类

16.6.1 3D模型绘制类的开发

16.6.2 BN2DObject 绘制类的开发

16.7 粒子系统的开发

16.7.1 基本原理

16.7.2 开发步骤

16.8 本游戏中的着色器

16.9 游戏的优化及改进

16.10 小结

第17章 基于WebGL的3D楼盘展示系统

17.1 应用背景及功能概述

17.1.1 背景概述

17.1.2 功能介绍

17.2 功能预览及架构

17.2.1 基于WebGL的3D楼盘展示系统功能预览

17.2.2 基于WebGL的3D楼盘展示系统目录结构

17.3 Web平台下应用开发前的准备工作

17.3.1 图片资源的搜集

17.3.2 模型资源的采集

17.4 地图设计器的开发

17.4.1 地图设计器的开发设计思路

17.4.2 地图设计器的框架介绍

17.4.3 地图设计器的开发步骤

17.5 公共函数介绍

17.5.1 工具函数文件GLUtil.js

17.5.2 obj加载文件LoadObjUtil.js

17.5.3 着色器加载文件LoadShaderUtil.js

17.5.4 3D物体绘制文件ObjObject.js

17.5.5 矩阵操作函数文件MatrixState.js

17.6 物体创建及绘制相关函数介绍

17.6.1 创建普通物体文件loadObject.js

17.6.2 地面绘制文件DrawLandMaps.js

17.6.3 普通按钮绘制文件DrawButton.js

17.7 各个功能模块的实现

17.7.1 主界面mainView.html的 开发

17.7.2 楼房模型界面houseModel.html的实现

17.7.3 户体模型界面roomType.html的开发

17.7.4 小区浏览界面residentialGarden.html的实现

17.8 应用中运用的着色器介绍

17.8.1 普通物体着色器

17.8.2 不带光照物体着色器

17.8.3 天空盒着色器

17.9 应用的优化与改进

17.10 小结


书查询(www.shuchaxun.com)本网页唯一编码:
b18393fe43944da23d7696b945f8f9e6#2edb509ec8ef0cb4a50ae68503f218c4#109647355#OPENGL ES3.X游戏开发 上卷_14072839.zip