图书介绍
普通高等教育“动画与数字媒体专业”规划教材 iPhone 3D游戏编程基础PDF|Epub|txt|kindle电子书版本网盘下载
![普通高等教育“动画与数字媒体专业”规划教材 iPhone 3D游戏编程基础](https://www.shukui.net/cover/54/31014883.jpg)
- 袁冠远编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302330530
- 出版时间:2013
- 标注页数:289页
- 文件大小:35MB
- 文件页数:305页
- 主题词:移动电话机-游戏-程序设计-高等学校-教材
PDF下载
下载说明
普通高等教育“动画与数字媒体专业”规划教材 iPhone 3D游戏编程基础PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 数学基础1
1.1向量1
1.1.1向量相等2
1.1.2向量的大小2
1.1.3向量的规范化2
1.1.4向量加法3
1.1.5向量减法3
1.1.6数与向量的乘积3
1.1.7向量点积3
1.1.8向量叉积4
1.2矩阵4
1.3变换6
1.3.1平移变换6
1.3.2缩放变换7
1.3.3旋转变换7
1.3.4矩阵复合8
1.4思考题8
第2章 创建OpenGL ES项目9
2.1开发工具9
2.1.1 Mac电脑9
2.1.2 iPhone9
2.1.3 Xcode9
2.1.4 Objective-C10
2.2 OpenGL ES简介10
2.3选择适当的OpenGL ES版本11
2.4使用向导创建OpenGL ES项目11
2.5从头开始创建OpenGL ES项目15
2.5.1创建Window-based Application15
2.5.2清理OpenGLES无关信息16
2.5.3连接OpenGL与Quartz库19
2.5.4添加UIView子类GLView19
2.5.5运行结果27
2.6应用程序设置27
2.6.1设置应用程序图标27
2.6.2处理启动画面28
2.6.3处理状态栏28
2.6.4运行结果28
2.7思考题29
第3章 基本图元30
3.1 OpenGLES坐标系30
3.1.1左手和右手坐标系30
3.1.2 OpenGLES默认坐标系30
3.2图元31
3.2.1点图元31
3.2.2渲染点图元31
3.2.3线图元36
3.2.4渲染线图元37
3.2.5三角形图元41
3.2.6渲染三角形图元42
3.3思考题46
第4章 游戏循环47
4.1基本的游戏循环47
4.2几种常见的游戏循环体48
4.2.1基于帧的循环体48
4.2.2基于时间的不定间隔循环体49
4.2.3基于时间的固定间隔循环体49
4.3 IOS游戏循环驱动器50
4.4 IOS游戏循环的实现51
4.4.1修改类声明51
4.4.2实现新定义的方法52
4.5游戏(动画)的启动与停止54
4.6实现简单动画55
4.7思考题56
第5章 颜色57
5.1颜色理论57
5.1.1 RGB模式57
5.1.2颜色深度57
5.1.3颜色立方体模型57
5.2设置渲染颜色58
5.3顶点颜色59
5.4着色模式60
5.5思考题61
第6章 顶点格式62
6.1顶点属性62
6.2顶点属性的数据类型63
6.3支持不同数据类型的函数63
6.4交错顶点数组64
6.4.1原理64
6.4.2使用交错顶点数组65
6.5使用结构体定义顶点数据66
6.6思考题68
第7章 纹理69
7.1概述69
7.2纹理坐标69
7.3在OpenGL ES中使用纹理71
7.3.1定义顶点信息结构体71
7.3.2设置顶点信息71
7.3.3创建纹理71
7.3.4渲染带纹理属性图元77
7.3.5运行78
7.4纹理寻址模式78
7.4.1重复纹理寻址模式79
7.4.2箝位纹理寻址模式79
7.4.3分别设置s轴和t轴的纹理寻址模式80
7.5使用多个纹理80
7.6思考题81
第8章 渲染流水线82
8.1渲染流水线概述83
8.2变换过程中的坐标系83
8.3基于OpenGLES的图形变换84
8.3.1概述84
8.3.2世界变换86
8.3.3视图变换86
8.3.4投影变换89
8.3.5视口变换92
8.4思考题92
第9章 渲染正方体93
9.1正方体顶点的组成93
9.2使用OpenGL ES默认变换渲染正方体93
9.2.1准备项目93
9.2.2定义顶点属性结构体93
9.2.3定义顶点数据94
9.2.4渲染95
9.2.5运行结果96
9.3设置投影矩阵以适配屏幕的宽高比96
9.3.1修改投影矩阵96
9.3.2运行结果97
9.4设置模型变换及结果97
9.4.1设置模型变换97
9.4.2运行结果98
9.5设置背面剔除及运行结果98
9.5.1设置背面剔除98
9.5.2运行结果99
9.6设置透视投影及运行结果99
9.6.1设置透视投影99
9.6.2运行结果101
9.6.3使用另一种透视相机模型101
9.7设置视图变换及运行结果102
9.7.1设置视图变换102
9.7.2运行结果102
9.8使立方体动起来102
9.9渲染第二个立方体103
9.10思考题105
第10章 混合106
10.1实例:半透明效果106
10.1.1实验准备106
10.1.2渲染玻璃107
10.1.3运行结果109
10.1.4启用混合109
10.2混合原理110
10.2.1混合原理简介110
10.2.2混合公式111
10.3渲染带有alpha通道的纹理112
10.4多次纹理混合113
10.5 alpha测试115
10.6思考题117
第11章 多重纹理118
11.1原理118
11.1.1纹理单元118
11.1.2纹理混合瀑布119
11.1.3纹理环境参数的设置119
11.1.4纹理分量120
11.1.5不同混合模式下纹理分量的计算公式121
11.1.6合并模式(Combine)下纹理分量的计算公式121
11.1.7操作122
11.2实例:颜色、纹理混合123
11.2.1定义顶点属性结构体123
11.2.2定义顶点数据124
11.2.3声明各四边形渲染函数124
11.2.4渲染函数125
11.2.5渲染第一个四边形126
11.2.6渲染第二个四边形126
11.2.7渲染第三个四边形127
11.2.8渲染第四个四边形128
11.2.9渲染第五个四边形128
11.2.10渲染第六个四边形130
11.3实例:精灵表动画131
11.3.1精灵表131
11.3.2图像合成131
11.3.3代码实现132
11.3.4调用代码137
11.4实例:光照纹理139
11.4.1原理139
11.4.2代码139
11.5思考题141
第12章 光照142
12.1光照的组成142
12.2材质143
12.3法线143
12.4法线的计算144
12.5光源145
12.6实例:向场景中添加光照147
12.6.1设置顶点法向量147
12.6.2设置光源149
12.6.3立方体渲染函数149
12.6.4渲染各立方体150
12.7思考题153
第13章 创建几何体154
13.1程序框架重构154
13.1.1通用函数和结构体154
13.1.2基类GLViewBase158
13.1.3派生类GLView164
13.2圆柱体建模164
13.2.1剖分方法164
13.2.2底面建模165
13.2.3侧面建模166
13.2.4圆柱体类166
13.2.5调用圆柱体类170
13.3球体建模174
13.3.1剖分方法174
13.3.2球体类176
13.3.3调用球体类180
13.4思考题182
第14章 顶点索引183
14.1原理183
14.2实例:使用顶点索引建模球体184
14.3思考题188
第15章 顶点缓存对象189
15.1原理189
15.1.1定义缓存对象名189
15.1.2生成缓存对象名189
15.1.3绑定缓存对象189
15.1.4传输缓存数据190
15.1.5渲染190
15.2使用顶点缓存对象优化球体模型190
15.3思考题194
第16章 深度缓存195
16.1原理195
16.1.1准备深度缓存196
16.1.2清除深度缓存197
16.1.3启用深度测试197
16.1.4设置深度测试函数197
16.1.5渲染198
16.2实例:使用深度缓存198
16.2.1准备深度缓存198
16.2.2清除深度缓存198
16.2.3启用深度测试渲染图元199
16.2.4渲染结果200
16.3控制深度缓存更新200
16.4思考题200
第17章 模板缓存201
17.1原理201
17.1.1准备模板缓存202
17.1.2清除模板缓存203
17.1.3启用模板测试204
17.1.4设置模板测试函数204
17.1.5设置模板更新方式204
17.1.6渲染205
17.2实例:镜面效果205
17.2.1概述205
17.2.2镜面变换206
17.2.3准备模板缓存206
17.2.4清除模板缓存207
17.2.5渲染207
17.3思考题208
第18章 加载3D模型209
18.1常见3D模型文件格式简介209
18.2 OBJ文件格式简介211
18.3一些OBJ关键字211
18.4 MTL关键字212
18.5 OBJ文件实例214
18.6 MTL文件实例214
18.7 WaveFrontObjLoader215
18.7.1 WaveFrontObjLoader的特点215
18.7.2 WaveFrontObjLoader的组成215
18.7.3 WaveFrontOBJScene类215
18.7.4 WaveFrontOBJ Group类216
18.7.5使用方式216
18.8实例:加载OBJ模型并渲染218
18.8.1准备工作218
18.8.2修改GLView类的定义219
18.8.3初始化219
18.8.4渲染220
18.9改进221
18.9.1改进材质类221
18.9.2修改WaveFrontOBJGroup类的定义221
18.9.3修改WaveFrontOBJGroup类的实现222
18.9.4为WaveFrontOBJScene类添加render方法226
18.9.5调用改进的类226
18.9.6渲染结果228
18.10思考题228
第19章 3D碰撞检测229
19.1定义包围信息229
19.2为WaveFrontOBJGroup类添加包围信息230
19.2.1修改WaveFrontOBJGroup类的定义230
19.2.2实现Bounding属性232
19.2.3实现calculateBoundingInfo方法232
19.3为WaveFrontOBJScene类添加包围信息233
19.3.1修改WaveFrontOBJScene类定义233
19.3.2实现Bounding属性234
19.3.3实现calculateBoundingInfo方法235
19.4渲染包围盒236
19.4.1概述236
19.4.2添加WireFrameBox类236
19.4.3修改GLView类237
19.4.4渲染结果240
19.5实现碰撞检测240
19.5.1概述240
19.5.2相关算法241
19.5.3添加Square类,用于绘制按钮242
19.5.4修改GLView类,实现实例244
19.5.5测试程序250
19.6扩展讨论250
19.7思考题251
第20章 地形绘制基础252
20.1高度图253
20.1.1原理253
20.1.2创建高度图253
20.1.3加载RAW文件253
20.1.4访问高度图254
20.2创建地形几何信息254
20.2.1 Terrain类的定义254
20.2.2顶点的计算256
20.2.3索引的计算258
20.2.4纹理的计算259
20.3渲染地形261
20.4在地形中“行走”261
20.5调用地形类265
20.6思考题268
第21章 天空绘制基础269
21.1原理269
21.2实现天空盒270
21.2.1创建天空盒渲染数据270
21.2.2创建天空盒纹理271
21.2.3渲染天空盒272
21.3调用天空盒类273
21.4思考题276
第22章 拾取277
22.1概述277
22.2原理278
22.2.1射线的定义278
22.2.2计算拾取射线278
22.2.3变换物体到观察坐标系280
22.2.4射线/物体相交判定280
22.2.5封装Picking类282
22.3拾取实例282
22.3.1修改Sphere类282
22.3.2修改GLView类的定义283
22.3.3初始化变量284
22.3.4实现渲染包围球方法285
22.3.5修改renderRoles函数285
22.3.6实现拾取功能287
22.3.7修改touchesBegan 函数288
22.3.8运行288
22.4思考题288
参考文献289