o’reilly media, inc.介绍
译者序
序
前言
第1章 快速入门
向apple技术过渡
objective-c语言
opengl es的发展简史
选择正确的opengl es版本
开始项目
安装iphone sdk
利用xcode创建opengl模板程序
将程序发布至iphone上
具有固定功能的helloarrow程序
3d应用程序的层次结构
启动项目
链接至opengl库和quartz库
uiview子类
挂接程序委托
生成图标并发布镜像文件
状态栏
渲染引擎接口的定义和使用
渲染引擎的实现
处理设备的方向
旋转动画
利用着色器编写helloarrow程序
着色器
框架结构
glview
实现renderingengine
小结
第2章 数学知识
装配线
基于顶点的图元装配
顶点属性
顶点的生命周期
装配线类比
设置模型矩阵
缩放
平移操作
旋转操作
设置视图转换
设置投影转换
利用矩阵栈存储和恢复转换操作
动画
插值技术
基于四元数的旋转动画
基于c++的向量
基于固定功能的hellocone程序
renderingengine声明
opengl初始化操作和锥体的细分操作
3d平滑旋转
render()方法
基于着色器的hellocone程序
小结
第3章 顶点和触摸点
读取触摸屏
采用顶点索引以节省内存空间
通过顶点缓冲对象获取性能提升
创建线框模式的观察器
参数化表面
接口设计
跟踪球旋转
渲染引擎的实现
简化的标签栏
渐变动画
小结
第4章 景深和现实感
深度缓冲区
深度缓冲冲突
创建并使用深度缓冲区
利用三角形填充线框
表面法线
向opengl传递法线
基于法线的数学知识
法线的转换
从参数表面中生成法线
光照计算
环境光
粗糙表面的漫反射光照
镜面光
向modelviewer添加光照
使用光照特征
着色器分析
向modelviewer中添加着色器
新型渲染引擎
像素光照
卡通着色
采用多边形偏移渲染线框对象
从obj文件中加载几何体
资源文件的管理
实现isurface接口
小结
第5章 纹理和图像捕捉
向modelviewer程序添加纹理
改进iresourcemanager接口
生成纹理坐标
在es1::renderingengine中开启纹理功能
在es2::renderingengine中开启纹理功能
再访纹理坐标
基于过滤机制的抗锯齿操作
通过纹理链提升渲染质量和性能
改进modelviewer程序以支持纹理链
纹理格式和类型
多种格式的数据加载
基于pvrtc的纹理压缩
powervr sdk和低精度纹理
利用quartz生成并转换opengl纹理
纹理尺寸限制
pot纹理的缩放操作
利用相机创建纹理
实现cameratexture程序中的渲染引擎
小结
第6章 混合操作与增强现实感
混合操作
预乘alpha值
混合操作中的注意事项
混合扩展操作
混合操作的作用
利用顶点颜色值调整纹理颜色
利用模板缓冲区实现反射计算
渲染圆形对象
利用模板缓冲区渲染反射对象
渲染对象
利用由前向后的混合方式渲染圆形对象
早期iphone设备的模板替代方案
基于离屏fbo的抗锯齿技术
超采样示例
抖动采样
其他fbo效果
基于纹理的抗锯齿直线渲染
holodeck示例程序
程序框架
渲染穹顶、云彩以及文本
渲染hud
通过方位传感器替换按钮对象
添加加速计功能
使用真实的相机图像
小结
第7章 精灵和文本
文本渲染:绘制fps计数器
利用python语言生成字符纹理
渲染fps文本
利用gldrawtexoes实施简化操作
基于距离场的文本
通过python生成距离场
在es 1.1中通过alpha测试使用距离场
利用片元着色器添加文本效果
平滑渲染与导数计算
实现轮廓线、光晕以及阴影效果
精灵表动画
图像合成以及多重纹理
opengl es与uikit之间的混合操作
利用点精灵渲染纸屑、焰火等
springystars示例程序
弹簧体的物理原理
c++接口和glview
实现applicationengine
opengl es 1.1版本渲染引擎和加法混合计算
基于opengl es 2.0的点精灵
小结
第8章 高级光照和纹理
opengl es 1.1中的纹理环境
纹理合成操作
凹凸纹理和dot3光照
线性代数知识
生成基向量
基于opengl es 2.0的法线贴图
基于opengl es 1.1的法线贴图
生成对象空间内的法线贴图
立方体贴图反射
渲染立方体贴图
各向异性过滤
图像处理示例:模糊操作
基于混合方法的高性能解决方案
高斯模糊计算示例代码
小结
第9章 优化操作
度量方法
理解cpu和gpu
使用vbo
批处理
混合顶点属性
优化顶点格式
使用最佳拓扑结构和索引机制
光照优化
基于对象空间的光照
重述dot3光照
烘焙光照
纹理优化
剔除和剪裁
多边形焊接
剪裁面
基于cpu的剔除操作
着色器性能
运行条件
kill指令
纹理查找
利用顶点混合优化
蒙皮计算示例代码
基于opengl es 2.0的蒙皮计算
基于opengl es 1.1的蒙皮计算
计算权值和索引
聚缩效应
进一步阅读
附录 c++向量库