展开全部

主编推荐语

详解OpenGL应用,通俗易懂,助力开发实战。

内容简介

通过案例详细讲解了OpenGL的应用,让读者学会如何驾驭复杂的应用程序,这些特性是目前市面上的一些书籍所没有的。本书中的大型案例均来源于真实的产品,100%原创,读者可以学以致用的尽快进入实战角色。本书通俗易懂,很适合读者开发项目中应用。

目录

  • 封面
  • 目录
  • 扉页
  • 版权
  • 前言
  • 第1章 顶点着色器的妙用
  • 1.1 飘扬的旗帜
  • 1.1.1 基本原理
  • 1.1.2 开发步骤
  • 1.2 扭动的软糖
  • 1.2.1 基本原理
  • 1.2.2 开发步骤
  • 1.3 风吹椰林场景的开发
  • 1.3.1 椰子树随风摇摆的基本原理
  • 1.3.2 开发步骤
  • 1.4 展翅飞翔的雄鹰
  • 1.4.1 基本原理
  • 1.4.2 开发步骤
  • 1.5 二维扭曲
  • 1.5.1 基本原理
  • 1.5.2 开发步骤
  • 1.6 吹气膨胀特效
  • 1.6.1 特效基本原理
  • 1.6.2 特效开发步骤
  • 1.7 OpenGL ES 1.x与OpenGL ES 2.0实现方案的对比
  • 1.8 本章小结
  • 第2章 片元着色器的妙用
  • 2.1 程序纹理技术
  • 2.1.1 砖块着色器
  • 2.1.2 沙滩球着色器
  • 2.2 数字图像处理
  • 2.2.1 卷积的基本知识
  • 2.2.2 平滑过滤
  • 2.2.3 边缘检测
  • 2.2.4 锐化处理
  • 2.2.5 浮雕效果
  • 2.2.6 图像渐变
  • 2.3 分形着色器
  • 2.3.1 曼德布罗集简介
  • 2.3.2 曼德布罗集着色器的实现
  • 2.3.3 将曼德布罗集纹理应用到实际物体上
  • 2.3.4 茱莉亚集着色器的实现
  • 2.4 体积雾
  • 2.4.1 基本原理
  • 2.4.2 体积雾开发步骤
  • 2.5 粒子系统火焰的开发
  • 2.5.1 火焰的基本原理
  • 2.5.2 火焰的开发步骤
  • 2.6 本章小结
  • 第3章 真实光学环境的模拟
  • 3.1 反射环境模拟
  • 3.1.1 案例效果与基本原理
  • 3.1.2 反射环境开发步骤
  • 3.2 折射环境模拟
  • 3.2.1 案例效果与基本原理
  • 3.2.2 开发步骤
  • 3.3 色散效果的模拟
  • 3.3.1 案例效果与基本原理
  • 3.3.2 开发步骤
  • 3.4 菲涅尔效果的模拟
  • 3.4.1 案例效果与基本原理
  • 3.4.2 菲涅尔效果开发步骤
  • 3.5 凹凸映射
  • 3.5.1 案例效果与基本原理
  • 3.5.2 法向量纹理图的生成
  • 3.5.3 案例的开发
  • 3.6 真实感很强的地形
  • 3.6.1 真实感地形的基本原理
  • 3.6.2 真实感地形的开发步骤
  • 3.7 本章小结
  • 第4章 阴影及高级光照
  • 4.1 投影贴图
  • 4.1.1 投影案例效果与基本原理
  • 4.1.2 开发步骤
  • 4.2 阴影的重要性
  • 4.3 平面阴影
  • 4.3.1 平面阴影案例效果与基本原理
  • 4.3.2 平面阴影开发步骤
  • 4.4 阴影映射
  • 4.4.1 阴影映射案例效果与基本原理
  • 4.4.2 距离纹理图的生成
  • 4.5.3 阴影场景的绘制
  • 4.5 阴影贴图
  • 4.5.1 阴影贴图案例效果与基本原理
  • 4.5.2 阴影贴图开发步骤
  • 4.6 聚光灯高级光源
  • 4.6.1 聚光灯高级光源案例效果与基本原理
  • 4.6.2 聚光灯高级光源开发步骤
  • 4.7 光线跟踪
  • 4.7.1 光线跟踪案例效果与基本原理
  • 4.7.2 光线跟踪开发步骤
  • 4.8 真实感水面倒影
  • 4.8.1 水面倒影的基本原理
  • 4.8.2 水面倒影的开发步骤
  • 4.9 本章小结
  • 第5章 让游戏更真实——游戏开发中的物理学
  • 5.1 碰撞检测基本技术
  • 5.1.1 AABB包围盒的基本原理
  • 5.1.2 AABB包围盒的计算
  • 5.1.3 AABB包围盒的碰撞检测
  • 5.1.4 一个AABB包围盒的案例
  • 5.1.5 旋转后的AABB包围盒
  • 5.1.6 AABB包围盒的使用要点
  • 5.1.7 OBB包围盒
  • 5.2 穿透效应
  • 5.2.1 案例的运行效果与基本原理
  • 5.2.2 具体开发步骤
  • 5.3 粒子系统
  • 5.3.1 案例运行效果与基本原理
  • 5.3.2 CPU版案例的开发
  • 5.3.3 GPU版案例开发步骤
  • 5.4 弹簧质点模型模拟旗帜
  • 5.4.1 弹簧质点模型基本原理
  • 5.4.2 弹簧质点模型案例的运行效果及开发步骤
  • 5.5 弹簧质点模型模拟球网
  • 5.5.1 弹簧质点模型的基本原理
  • 5.5.2 弹簧质点模型的案例的运行效果及开发步骤
  • 5.6 本章小结
  • 第6章 游戏的心脏——物理引擎
  • 6.1 物理引擎很重要
  • 6.1.1 什么是物理引擎
  • 6.1.2 常见的物理引擎
  • 6.2 JBullet物理引擎概览
  • 6.2.1 基本的物理学概念
  • 6.2.2 JBullet中常用类的介绍
  • 6.3 箱子相互碰撞的案例
  • 6.3.1 案例运行效果及准备工作
  • 6.3.2 案例的基本框架结构
  • 6.3.3 常量类——Constant
  • 6.3.4 3D场景渲染类——MySurfaceView
  • 6.3.5 水平地面——TexFloor类
  • 6.3.6 箱子——TexCube类
  • 6.4 复合碰撞形状的使用
  • 6.4.1 案例运行效果
  • 6.4.2 立方体圆柱复合形状——CubeCylinder类
  • 6.5 凹凸地形的案例
  • 6.5.1 案例运行效果
  • 6.5.2 地形类——LandForm
  • 6.6 任意形状物体的碰撞
  • 6.6.1 案例运行效果
  • 6.6.2 加载物体类——LoadedObjectVertexNormal
  • 6.6.3 加载物体刚体类——LoadRigidBody
  • 6.7 铰链关节
  • 6.7.1 铰链关节的基本知识
  • 6.7.2 铰链关节案例的运行效果
  • 6.7.3 铰链关节旋转角速度的计算
  • 6.7.4 3D界面渲染类——MySurfaceView
  • 6.8 滑动关节
  • 6.8.1 滑动关节的基本知识
  • 6.8.2 案例效果图
  • 6.8.3 3D界面渲染类——MySurfaceView
  • 6.9 六自由度关节
  • 6.9.1 六自由度关节的基本知识
  • 6.9.2 六自由度关节案例的运行效果
  • 6.9.3 人偶类——Doll
  • 6.9.4 拾取时采用的点对点关节
  • 6.10 交通工具
  • 6.10.1 交通工具开发要点
  • 6.10.2 交通工具案例的运行效果
  • 6.10.3 3D场景渲染类——MySurfaceView
  • 6.10.4 汽车类——Car
  • 6.10.5 汽车绘制类——VehicleDraw
  • 6.11 Bullet物理引擎概览
  • 6.11.1 Bullet物理引擎案例的运行效果
  • 6.11.2 3D场景渲染类——GL2JNIView
  • 6.11.3 本地方法声明及动态库加载类——JNIPort
  • 6.11.4 初始化及渲染函数文件——main.cpp
  • 6.11.5 水平地面类——TexPlane
  • 6.11.6 箱子类——TexCube
  • 6.12 Bullet软体
  • 6.12.1 Bullet软件案例运行效果
  • 6.12.2 初始化及渲染函数文件——main.cpp
  • 6.12.3 软体类——SoftCloth
  • 6.13 本章小结
  • 第7章 让游戏主角的动作更丰富——骨骼动画
  • 7.1 自己开发骨骼动画
  • 7.1.1 骨骼动画的基本原理
  • 7.1.2 骨骼动画开发步骤
  • 7.1.3 机器人模型在地面上运动时的问题
  • 7.2 ms3d文件的加载
  • 7.2.1 ms3d文件的格式
  • 7.2.2 案例的开发
  • 7.3 本章小结
  • 第8章 必知必会的开发技术——游戏开发小贴士
  • 8.1 3D拾取技术
  • 8.1.1 3D拾取案例效果与基本原理
  • 8.1.2 开发步骤
  • 8.2 多点触控
  • 8.2.1 多点触控案例效果与基本原理
  • 8.2.2 开发步骤
  • 8.3 多键监听
  • 8.3.1 案例效果与基本原理
  • 8.3.2 开发步骤
  • 8.4 本章小结
  • 第9章 让应用运行更流畅——性能优化
  • 9.1 着色器的优化
  • 9.1.1 计算量与计算频率相关的问题
  • 9.1.2 其他需要注意的问题
  • 9.2 纹理图的优化
  • 9.3 3D图形绘制的优化
  • 9.3.1 CPU阶段的优化
  • 9.3.2 几何阶段的优化
  • 9.3.3 光栅化阶段的优化
  • 9.3.4 尽量减少状态的变化
  • 9.4 本章小结
  • 第10章 综合案例一——火力篮球
  • 10.1 游戏背景及功能概述
  • 10.1.1 游戏背景概述
  • 10.1.2 游戏功能介绍
  • 10.2 游戏的策划及准备工作
  • 10.2.1 游戏的策划
  • 10.2.2 Android平台下游戏开发的准备工作
  • 10.3 游戏的架构
  • 10.3.1 各个类简要介绍
  • 10.3.2 游戏框架简介
  • 10.4 公共类BasketBall_Shot_Activity
  • 10.5 辅助界面相关类
  • 10.5.1 主菜单界面CaiDanView类
  • 10.5.2 设置界面ShengyinKGJiemian类
  • 10.5.3 关于界面GuanYuView类
  • 10.5.4 记录界面JiLuView类
  • 10.5.5 数据库相关类SQLiteUtil
  • 10.6 游戏界面相关类
  • 10.6.1 游戏界面绘制类GLGameView
  • 10.6.2 着色器程序管理器类ShaderManager
  • 10.6.3 添加刚体进物理世界类TianjiaBody
  • 10.6.4 添加胶囊刚体进物理世界类JiaoNangTianjiaBody
  • 10.6.5 篮球控制类BasketBallForDraw
  • 10.6.6 纹理矩形绘制类WenLiJuXing
  • 10.7 游戏中着色器的开发
  • 10.7.1 纹理的着色器
  • 10.7.2 光照着色器
  • 10.7.3 影子着色器
  • 10.7.4 仪表盘背景着色器
  • 10.7.5 篮网着色器
  • 10.8 游戏的优化与改进
  • 第11章 综合案例二——3D虚拟停车场
  • 11.1 游戏开发背景及功能概述
  • 11.1.1 游戏开发背景
  • 11.1.2 游戏功能介绍
  • 11.2 游戏的策划及准备工作
  • 11.2.1 游戏的策划
  • 11.2.2 Android 平台下游戏开发的准备工作
  • 11.3 游戏的架构
  • 11.3.1 各个类简要介绍
  • 11.3.2 游戏框架简介
  • 11.4 常量及公共类
  • 11.4.1 游戏主控类GameActivity
  • 11.4.2 游戏常量类Constant
  • 11.5 界面相关类
  • 11.5.1 游戏欢迎界面类WelcomeView
  • 11.5.2 主菜单类MainInterSurfaceView
  • 11.5.3 选择界面类SelectVehicleLevelView
  • 11.5.4 游戏界面类GameSurfaceView
  • 11.6 交通工具相关类及接口
  • 11.6.1 交通工具接口Vehicle
  • 11.6.2 交通工具类Car_01
  • 11.7 物体绘制相关类
  • 11.7.1 纹理矩形绘制类TextureTextangle
  • 11.7.2 交通工具绘制类VehicleDraw
  • 11.7.3 路障类Roadblock
  • 11.7.4 停车点类ParkPlace
  • 11.7.5 关卡加载及绘制类LevelLoad
  • 11.7.6 路面绘制类TexFloor
  • 11.7.7 动态按钮类Button
  • 11.7.8 方向盘类Streering
  • 11.7.9 控制部件绘制类Control
  • 11.8 游戏中的着色器开发
  • 11.9 游戏的优化与改进
  • 第12章 综合案例三——WebGL模拟飞行
  • 12.1 游戏背景及功能概述
  • 12.1.1 游戏背景概述
  • 12.1.2 游戏功能介绍
  • 12.2 游戏的策划及准备工作
  • 12.2.1 游戏的策划
  • 12.2.2 Web 平台下游戏的准备工作
  • 12.2.3 Obj模型加载工具介绍
  • 12.3 游戏的架构
  • 12.3.1 游戏中各个类简要介绍
  • 12.3.2 游戏框架简介
  • 12.4 游戏公共函数介绍
  • 12.4.1 工具函数文件GLUtil.js
  • 12.4.2 矩阵操作函数文件MatrixState.js
  • 12.5 山地控制及绘制相关函数
  • 12.5.1 无边界地形的控制及绘制原理
  • 12.5.2 无边界山地地形绘制函数文件MountainMap.js
  • 12.5.3 单位山地地形绘制函数文件MountainDraw.js
  • 12.6 物体控制相关函数介绍
  • 12.6.1 碰撞检测策略讲解
  • 12.6.2 飞机绘制及控制文件Airplane.js
  • 12.6.3 飞机绘制及控制文件Meter.js
  • 12.6.4 爆炸动画绘制函数文件BoomPlay.js
  • 12.7 物体绘制相关函数介绍
  • 12.7.1 山地绘制函数文件Mountain.js
  • 12.7.2 水面绘制文件WaterRect.js
  • 12.7.3 纹理矩形绘制文件Rectangledraw.js
  • 12.7.4 其他物体绘制文件ObjObject.js
  • 12.8 游戏页面文件planeGame.htm介绍
  • 12.9 游戏中运用的着色器介绍
  • 12.9.1 普通物体着色器
  • 12.9.2 山地地形着色器
  • 12.9.3 水面矩形着色器
  • 12.10 游戏的优化与改进
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社

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