iPhone三维程序设计基于OpenGL ES的图形应用程序设计

iPhone三维程序设计基于OpenGL ES的图形应用程序设计
作 者: 莱德奥特 黄丽臣
出版社: 清华大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 移动开发
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  莱德奥特,Philip Rideout曾就职于多家顶尖的图形公司,其中包括Intergraph、3Dlabs以及NVIDIA。目前,Philip Rideout任职于地处Denver的Medical Simulation Corporation,并致力于人体可视化方面的开发工作。

内容简介

《iphone三维程序设计基于opengles的图形应用程序设计》详细阐述了基于opengles的3d图形程序设计,主要包括顶点和触摸点、景深和现实感、纹理和图像捕捉、混合操作与增强现实感、精灵和文本、高级光照和纹理以及优化操作等内容。本书还提供了相应的代码以及伪代码,以帮助读者进一步理解渲染方案的实现过程。《iphone三维程序设计基于opengles的图形应用程序设计》适合作为高等院校计算机及相关专业的教学参考书,也可作为相关开发人员的自学教材和参考手册。

图书目录

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++向量库