《OpenGL ES应用开发实践指南:iOS卷》
基本信息
原书名:Learning OpenGL ES for iOS:A Hands-On Guide to Modern 3D Graphics Programming
作者: (美)Erik M.Buck
译者: 徐学磊
丛书名: 华章程序员书库
出版社:机械工业出版社
ISBN:9787111428671
上架时间:2013-6-19
出版日期:2013 年6月
开本:16开
页码:1
版次:1-1
所属分类:计算机 > 软件与程序设计 > 移动开发 > iPhone
更多关于 》》》《OpenGL ES应用开发实践指南:iOS卷
内容简介
计算机书籍
  《opengl es应用开发实践指南:ios卷》是一本系统的具备实战性的opengl es 3d图形开发指南。由资深ios开发专家根据opengl es最新版本撰写,不仅详细讲解了opengl es与glkit的结合使用,而且还系统讲解opengl es的核心概念、技术,以及ios的图形机制,并通过大量案例讲解了在ios上进行opengl es开发的方法和技巧。
   全书共分12章。第1章介绍了使用嵌入式图形硬件绘制3d图形的最新方法;第2章讲解了如何使用苹果xcode开发工具和cocoa touch面向对象的框架在iphone、ipod touch和ipad中开发包括3d图形的程序;第3章涵盖了纹理的底层概念和常用选项;第4章介绍灯光模拟背后的概念,以及利用glkit并使用相对简单的应用代码演示灯光效果;第5章讲解并演示从任意视点渲染几何对象的技术;第6章介绍如何制作动画;第7章介绍了如何加载并使用模型;第8章讲解了特效的使用;第9章介绍能够提高ios设备上opengl es 2.0渲染性能的优化策略;第10章讲解了地形和拾取;第11章回顾了3d渲染所需的常见数学运算;第12章涵盖了一个结合地形渲染、天空盒、粒子系统、动画、变化视点、灯光、模型和碰撞检测技术的实例。
目录
《opengl es应用开发实践指南:ios卷》
译者序
前言
第1章使用现代移动图形硬件 / 1
1.1 3d渲染 / 1
1.2为图形处理器提供数据 / 3
1.2.1缓存:提供数据的最好方式 / 4
1.2.2帧缓存 / 5
1.3 opengl es的上下文 / 6
1.4一个3d场景的几何数据 / 7
1.4.1坐标系 / 7
1.4.2矢量 / 9
1.4.3点、线、三角形 / 11
1.5小结 / 11
第2章让硬件为你工作 / 12
2.1使用opengl es绘制一个core animation层 / 12
2.2结合cocoa touch和opengl es / 14
2.2.1 cocoa touch / 14
2.2.2使用苹果开发者工具 / 15
2.2.3 cocoa touch应用架构 / 15
.2.3 opengles_ch2_1示例 / 18
2.3.1 opengles_ch2_1appdelegate类 / 18
2.3.2 storyboards / 19
2.3.3 opengles_ch2_1viewcontroller类的interface / 19
2.3.4 opengles_ch2_1viewcontroller类的实现 / 20
2.3.5支持文件 / 30
2.4深入探讨glkview是怎么工作的 / 31
2.5对于glkit的推断 / 40
2.6小结 / 46
第3章纹理 / 48
3.1 什么是纹理 / 48
3.1.1对齐纹理和几何图形 / 49
3.1.2纹理的取样模式 / 50
3.1.3 mip 贴图 / 52
3.2 opengles_ch3_1示例 / 52
3.3深入探讨glktextureloader是怎么工作的 / 56
3.4 opengles_ch3_3示例 / 62
3.5透明度、混合和多重纹理 / 63
3.5.1在opengles_ch3_4示例中混合片元颜色 / 64
3.5.2示例opengles_ch3_5中的多重纹理 / 66
3.5.3在opengles_ch3_6示例中自定义纹理 / 68
3.6纹理压缩 / 70
3.7小结 / 71
第4章散发一些光线 / 72
4.1环境光、漫反射光、镜面反射光 / 73
4.2计算有多少光线照向每个三角形 / 74
4.3使用glkit灯光 / 79
4.4 opengles_ch4_1示例 / 80
4.5把灯光烘焙进纹理中 / 86
4.6片元计算 / 87
4.7小结 / 88
第5章改变你的视点 / 89
5.1深度渲染缓存(depth render buffer) / 89
5.2例子opengles_ch5_1和例子opengles_ch5_2 / 91
5.3深入探讨不用glkit添加深度缓存 / 96
5.4变换 / 98
5.4.1基本变换 / 98
5.4.2顺序很重要 / 101
5.4.3 projectionmatrix和modelviewmatrix / 102
5.4.4 texturematrix / 105
5.5复合变换手册 / 107
5.5.1倾斜 / 107
5.5.2围着一个点旋转 / 107
5.5.3围着一个点缩放 / 107
5.6透视和平截头体 / 108
5.7小结 / 109
第6章动画 / 110
6.1场景内移动:例子opengles_ch6_1 / 111
6.1.1看向一个特定的3d位置 / 111
6.1.2使用时间 / 113
6.2动画化顶点数据 / 116
6.2.1使用索引顶点 / 118
6.2.2 opengles_ch6_2示例 / 119
6.3动画化颜色和灯光:例子opengles_ch6_3 / 122
6.4动画化纹理 / 126
6.4.1 opengles_ch6_4示例 / 126
6.4.2 opengles_ch6_5示例 / 128
6.5小结 / 130
第7章加载和使用模型 / 131
7.1建模工具和格式 / 132
7.2读取modelplist文件 / 136
7.3 opengles_ch7_1示例 / 138
7.4高级模型 / 142
7.4.1骨骼动画 / 142
7.4.2蒙皮 / 147
7.4.3 逆动力学和物理模拟 / 150
7.5小结 / 150
第8章特效 / 151
8.1天空盒 / 151
8.2深入探讨glkskyboxeffect是怎么工作的 / 154
8.3 粒子 / 164
8.4公告牌 / 170
8.5小结 / 177
第9章优化 / 178
9.1尽可能减少渲染 / 178
9.1.1基于视平截体的剔除 / 179
9.1.2简化 / 189
9.2不要猜:解析(profile) / 189
9.2.1工具opengl es performance detective / 190
9.2.2工具instruments / 191
9.3尽量减少缓存复制 / 192
9.4尽量减少状态变化 / 192
9.5小结 / 193
第10章地形和拾取 / 195
10.1地形的实现 / 195
10.1.1高度图 / 196
10.1.2地形瓦片 / 197
10.1.3地形效果 / 200
10.2添加模型 / 205
10.2.1模型放置 / 206
10.2.2模型效果 / 206
10.3 opengl es摄像机 / 208
10.4拾取 / 213
10.5优化 / 221
10.6小结 / 228
第11章数学速查 / 229
11.1概述 / 229
11.2解码矩阵 / 230
11.2.1从平截体获取矩阵 / 233
11.2.2透视 / 236
11.2.3矢量的坐标轴分量 / 237
11.2.4点变换 / 238
11.2.5 转置矩阵和逆矩阵 / 240
11.3四元法 / 241
11.4常用的图形数学 / 242
11.4.1简单矢量运算 / 242
11.4.2矢量标量积 / 243
11.4.3矢量的矢量积 / 243
11.4.4 model-view矩阵 / 244
11.4.5投影矩阵 / 245
11.5小结 / 245
第12章理清整体思路 / 246
12.1概述 / 246
12.2一切如故 / 248
12.2.1控制器子系统 / 249
12.2.2模型子系统 / 250
12.2.3 视图子系统 / 255
12.3设备动作 / 263
12.4小结 / 265
图书信息来源:互动出版网

OpenGL ES应用开发实践指南:iOS卷的更多相关文章

  1. lua游戏开发实践指南学习笔记1

    本文是依据lua游戏开发实践指南做的一些学习笔记,仅用于继续自己学习的一些知识. Lua基础 1.  语言定义: 在lua语言中,标识符有非常大的灵活性(变量和函数名),只是用户不呢个以数字作为起始符 ...

  2. 精通BIRT:Eclipse商务智能报表工具开发实践指南

    http://blog.csdn.net/birtbird/article/details/8935520 [置顶] 精通BIRT:Eclipse商务智能报表工具开发实践指南 分类: BIRT 201 ...

  3. 在Android中使用OpenGL ES进行开发第(三)节:绘制图形

    一.前期基础知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点: ①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分 ②使用OpenGLES绘制2D ...

  4. 在Android中使用OpenGL ES进行开发第(二)节:定义图形

    一.前期基础知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点: ①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分 ②使用OpenGLES绘制2D ...

  5. Android 中建立一个OpenGL ES的开发环境

    转自: http://wiki.eoe.cn/page/Building_an_OpenGL_ES_Environment.html 负责人:zhangql原文链接:http://docs.eoean ...

  6. EGL接口介绍-----Android OpenGL ES底层开发

    引自:http://www.cnitblog.com/zouzheng/archive/2011/05/30/74326.html EGL 是 OpenGL ES 和底层 Native 平台视窗系统之 ...

  7. 在Android中使用OpenGL ES进行开发第(一)节:概念先行

    一.前期基础是知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点: ①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分 ②使用OpenGL ES绘制 ...

  8. 【SpringCloud技术专题】「Gateway网关系列」(3)微服务网关服务的Gateway全流程开发实践指南(2.2.X)

    开发指南须知 本次实践主要在版本:2.2.0.BUILD-SNAPSHOT上进行构建,这个项目提供了构建在Spring生态系统之上API网关. Spring Cloud Gateway的介绍 Spri ...

  9. 2 JavaScript应用开发实践指南

    JavaScript 语言在浏览器中的运用 HTTP请求,加载HTML后根据内容加载CSS等,大部分浏览器默认2个下载链接. HTML元素要尽可能简洁,不需要将Table元素变成多个div, css代 ...

随机推荐

  1. POJ 3659 Cell Phone Network (树dp)

    题目链接:http://poj.org/problem?id=3659 给你一个树形图,一个点可以覆盖他周围连接的点,让你用最少的点覆盖所有的点. dp[i][0]表示用i点来覆盖,dp[i][1]表 ...

  2. NS_ENUM & NS_OPTIONS

    When everything is an object, nothing is. So, there are a few ways you could parse that, but for the ...

  3. 图片转换成base64_encode的链接代码示例

    <?php $file = "example.jpg"; $type = getimagesize( $file ); //取得图片的大小,类型等 $file_content ...

  4. ASP.net 服务器监控

    参考代码: 1,页面 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SMP ...

  5. 25.怎样创建一个Swift项目?

    经历前面三部分的学习之后,我们对于Swift的有了基本的了解,知道它的基础语法,也知道了类.结构体.枚举.协议.扩展等等内容.但知道上面这些内容,并不代表我们就能很好的进行实际的项目开发了,本部分内容 ...

  6. 学习C++的一些问题总结

    C++ 问题 (一) int main() { int i,j,m,n; i=8; j=10; m=++i+j++;  //++i是先递加再使用,j++是先使用再递加,故:9+10=19 n=++i+ ...

  7. iepngfix.htc让PNG-24在IE6中透明的方法(转)

    add:360用的一个方法: <!--[if IE 6]> <script src="http://se.360.cn/js/DD_belatedPNG.js"& ...

  8. UDT: Breaking the Data Transfer Bottleneck

    http://udt.sourceforge.net/ DT is a reliable UDP based application level data transport protocol for ...

  9. uC/OS-III学习2::uC/OS-III LED闪烁实验

    1 前言: 看完了uC/OS-III的基本介绍之后,大致对这个操作系统有了点了解,但真正的理解还是要通过不断的去使用,在使用中体验uC/OS-III的乐趣和更深的理解其工作原理是非常重要的.因此,我在 ...

  10. 【JS】识别浏览器版本及操作平台

    背景: 有这么个需求,需要统计,用户打开网站使用的浏览器,以及操作平台.      实现:     受HTML5Test这个网站的影响,发现它可以实现,获取浏览器以及平台的功能,然后研究代码发现了这个 ...