展开全部

主编推荐语

本书16章详解OpenGL ES 3.x技术,附赠案例源代码。

内容简介

本书共分为16章,内容按照必知必会的基础知识、基于OpenGL ES 3.x实现基本特效以及真实大型应用、游戏案例的顺序进行详细地讲解。为了便于读者学习,本套书附赠的光盘中包含了书中所有案例的完整源代码,最大限度地帮助读者快速掌握各方面的开发技术。

目录

  • 版权信息
  • 内容提要
  • 前言
  • 第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.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.3 三角形条带与扇面绘制方式
  • 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.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.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.2 使用Android NDK开发山地地形场景
  • 14.2.1 案例效果及山地绘制类的开发
  • 14.2.2 NDK端渲染函数的开发
  • 14.3 基于iOS平台开发OpenGL ES 3.0程序
  • 14.3.1 案例运行效果及Xcode项目的创建
  • 14.4 基于iOS平台的地月系场景案例
  • 14.4.1 案例的运行效果
  • 14.5 小结
  • 第15章 Web端3D游戏开发——WebGL 3D应用开发
  • 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 小结
  • 欢迎来到异步社区!
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。