图书介绍
OpenGL超级宝典 第5版PDF|Epub|txt|kindle电子书版本网盘下载
![OpenGL超级宝典 第5版](https://www.shukui.net/cover/45/33885041.jpg)
- (美)赖特等著;付飞,李艳辉译 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115274564
- 出版时间:2012
- 标注页数:698页
- 文件大小:349MB
- 文件页数:717页
- 主题词:图形软件,OpenGL
PDF下载
下载说明
OpenGL超级宝典 第5版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 基本概念2
第1章 3D图形和OpenGL简介2
1.1 计算机图形的简单历史回顾2
1.1.1 进入电子时代3
1.1.2 走向3D3
1.2 3D图形技术和术语6
1.2.1 变换(Transformation)和投影(Projection)6
1.2.2 光栅化(Rasterization)6
1.2.3 着色7
1.2.4 纹理贴图8
1.2.5 混合9
1.2.6 将点连接起来9
1.3 3D图形的常见用途9
1.3.1 实时3D10
1.3.2 非实时3D12
1.3.3 着色器12
1.4 3D编程的基本原则13
1.4.1 并非工具包13
1.4.2 坐标系统13
1.4.3 投影:从3D到2D17
1.5 总结19
第2章 入门指南20
2.1 什么是OpenGL?20
2.1.1 标准的演化21
2.1.2 OpenGL的未来24
2.2 使用OpenGL27
2.2.1 支持阵容28
2.2.2 OpenGL API特性29
2.2.3 OpenGL错误31
2.2.4 确认版本31
2.2.5 使用glHint获取线索32
2.2.6 OpenGL状态机32
2.3 建立Windows项目33
2.3.1 包含路径34
2.3.2 创建项目35
2.3.3 添加文件36
2.4 建立Mac OS X项目38
2.4.1 自定义创建设置38
2.4.2 创建新项目39
2.4.3 框架、头文件和库41
2.5 第一个三角形43
2.5.1 要包含什么45
2.5.2 启动GLUT45
2.5.3 坐标系基础47
2.5.4 完成设置50
2.5.5 言归正传52
2.6 加点儿活力!53
2.6.1 特殊按键53
2.6.2 刷新显示54
2.6.3 简单的动画片54
2.7 总结55
第3章 基础渲染56
3.1 基础图形管线57
3.1.1 客户机-服务器57
3.1.2 着色器58
3.2 创建坐标系60
3.2.1 正投影60
3.2.2 透视投影61
3.3 使用存储着色器61
3.3.1 属性62
3.3.2 Uniform值62
3.4 将点连接起来64
3.4.1 点和线64
3.4.2 绘制3D三角形68
3.4.3 单独的三角形68
3.4.4 一个简单批次容器72
3.4.5 不希望出现的几何图形73
3.4.6 多边形偏移78
3.4.7 裁剪80
3.5 混合81
3.5.1 组合颜色81
3.5.2 改变混合方程式84
3.5.3 抗锯齿85
3.5.4 多重采样87
3.6 小结89
第4章 基础变换:初识向量/矩阵90
4.1 本章是令人生畏的数学课吗90
4.2 3D图形数学速成课91
4.2.1 向量91
4.2.2 矩阵94
4.3 理解变换95
4.3.1 视觉坐标95
4.3.2 视图变换96
4.3.3 模型变换96
4.3.4 模型视图的二元性98
4.3.5 投影变换98
4.3.6 视口变换99
4.4 模型视图矩阵99
4.4.1 矩阵构造100
4.4.2 运用模型视图矩阵103
4.5 更多对象105
4.5.1 使用三角形批次类105
4.5.2 创建一个球体106
4.5.3 创建一个花托106
4.5.4 创建一个圆柱或圆锥107
4.5.5 创建一个圆盘108
4.6 投影矩阵108
4.6.1 正投影109
4.6.2 透视投影110
4.6.3 模型视图投影矩阵111
4.7 变换管线113
4.7.1 使用矩阵堆栈114
4.7.2 管理管线115
4.7.3 加点调料118
4.8 使用照相机和角色进行移动119
4.8.1 角色帧120
4.8.2 欧拉角:“卢克!请使用帧”121
4.8.3 照相机管理121
4.8.4 添加更多角色123
4.8.5 关于光线125
4.9 小结126
第5章 基础纹理127
5.1 原始图像数据128
5.1.1 像素包装129
5.1.2 像素图130
5.1.3 包装的像素格式132
5.1.4 保存像素133
5.1.5 读取像素134
5.2 载入纹理137
5.2.1 使用颜色缓冲区138
5.2.2 更新纹理138
5.2.3 纹理对象139
5.3 纹理应用140
5.3.1 纹理坐标140
5.3.2 纹理参数142
5.3.3 综合运用144
5.4 Mip贴图148
5.4.1 Mip贴图过滤149
5.4.2 生成Mip层150
5.4.3 活动的Mip贴图150
5.5 各向异性过滤158
5.6 纹理压缩160
5.6.1 压缩纹理160
5.6.2 加载压缩纹理161
5.6.3 最后一个示例162
5.7 小结163
第6章 跳出“盒子”:非存储着色器164
6.1 初识OpenGL着色语言164
6.1.1 变量和数据类型165
6.1.2 存储限定符168
6.1.3 真正的着色器169
6.1.4 编译、绑定和连接172
6.1.5 使用着色器177
6.1.6 Provoking Vertex178
6.2 着色器统一值179
6.2.1 寻找统一值179
6.2.2 设置标量和向量统一值180
6.2.3 设置统一数组180
6.2.4 设置统一矩阵181
6.2.5 平面着色器182
6.3 内建函数184
6.3.1 三角函数184
6.3.2 指数函数184
6.3.3 几何函数185
6.3.4 矩阵函数185
6.3.5 向量相关函数186
6.3.6 常用函数187
6.4 模拟光线189
6.4.1 简单漫射光189
6.4.2 点光源漫反射着色器191
6.4.3 ADS光照模型194
6.4.4 Phong着色197
6.5 访问纹理199
6.5.1 只有纹理单元200
6.5.2 照亮纹理单元201
6.5.3 丢弃片段203
6.5.4 卡通着色(Cell Shading)——将纹理单元作为光线205
6.6 小结207
第7章 纹理高级知识208
7.1 矩形纹理208
7.1.1 加载矩形纹理209
7.1.2 使用矩形纹理209
7.2 立方体贴图212
7.2.1 加载立方体贴图212
7.2.2 创建天空盒213
7.2.3 创建反射215
7.3 多重纹理216
7.3.1 多重纹理坐标217
7.3.2 多重纹理示例217
7.4 点精灵(点块纹理)219
7.4.1 使用点220
7.4.2 点大小220
7.4.3 综合运用221
7.4.4 点参数223
7.4.5 异形点224
7.4.6 点的旋转225
7.5 纹理数组226
7.5.1 加载2D纹理数组226
7.5.2 纹理数组索引228
7.5.3 访问纹理数组228
7.6 纹理代理229
7.7 小结230
第二部分 深入探索232
第8章 缓冲区对象:存储尽在掌握232
8.1 缓冲区233
8.1.1 创建自己的缓冲区233
8.1.2 填充缓冲区234
8.1.3 像素缓冲区对象235
8.1.4 缓冲区对象241
8.2 帧缓冲区对象,摆脱窗口的限制242
8.2.1 如何使用FBO243
8.2.2 渲染缓冲区对象243
8.2.3 绘制缓冲区245
8.2.4 帧缓冲区的完整性247
8.2.5 在帧缓冲区中复制数据250
8.2.6 FBO综合运用251
8.3 渲染到纹理254
8.4 小结259
第9章 高级缓冲区:超越基础水平260
9.1 获得数据260
9.1.1 映射缓冲区261
9.1.2 复制缓冲区262
9.2 控制像素着色器表现,映射片段输出262
9.3 新一代硬件的新格式264
9.3.1 浮点——最终的真正精确264
9.3.2 多重采样276
9.3.3 整数279
9.3.4 sRGB280
9.3.5 纹理压缩281
9.4 小结283
第10章 片段操作:管线的终点284
10.1 裁剪——将几何图形剪切到希望的大小285
10.2 多重采样285
10.2.1 样本覆盖285
10.2.2 样本遮罩286
10.2.3 综合运用287
10.3 模板操作290
10.4 深度测试292
10.4.1 深度截取292
10.5 进行混合293
10.5.1 混合方程式293
10.5.2 混合函数294
10.5.3 综合运用295
10.6 抖动296
10.7 逻辑操作297
10.8 遮罩输出298
10.8.1 颜色298
10.8.2 深度298
10.8.3 模板298
10.8.4 用途299
10.9 小结299
第11章 高级着色器应用300
11.1 高级顶点着色器300
11.1.1 在顶点着色器中进行物理模拟301
11.2 几何着色器306
11.2.1 直通几何着色器306
11.2.2 在应用程序中使用几何着色器308
11.2.3 在几何着色器中丢弃几何图形311
11.2.4 在几何着色器中修改几何图形313
11.2.5 在几何着色器中生成几何图形314
11.2.6 在几何着色器中改变图元类型317
11.2.7 由几何着色器引入的新图元类型319
11.3 高级片段着色器321
11.3.1 片段着色器中的后期处理——颜色校正322
11.3.2 片段着色器中的后期处理——卷积323
11.3.3 在片段着色器中生成图像数据326
11.3.4 在片段着色器中丢弃工作328
11.3.5 逐片段控制深度329
11.4 更高级的着色器函数330
11.4.1 插值和存储限定符330
11.4.2 高级内建函数333
11.5 统一缓冲区对象334
11.5.1 建立统一块335
11.6 小结342
第12章 高级几何图形管理343
12.1 查询功能——收集OpenGL管线相关信息343
12.1.1 准备查询344
12.1.2 发出查询345
12.1.3 取回查询结果345
12.1.4 使用查询结果346
12.1.5 让OpenGL决定349
12.1.6 测量执行命令所需时间350
12.2 在GPU内存中存储数据352
12.2.1 使用缓冲区存储顶点数据353
12.2.2 在缓冲区中保存顶点索引356
12.3 使用顶点数组对象来组织缓冲区358
12.4 高效地绘制大量几何图形359
12.4.1 组合绘制函数360
12.4.2 使用图元重启对几何图形进行组合361
12.4.3 实例渲染362
12.4.4 自动获得数据367
12.5 存储变换的顶点——变换反馈371
12.5.1 变换反馈371
12.5.2 关闭光栅化376
12.5.3 使用图元查询对顶点进行计数376
12.5.4 使用图元查询的结果378
12.5.5 变换反馈的应用实例379
12.6 裁剪并确定绘制内容386
12.6.1 裁剪距离——自定义裁剪空间387
12.7 在OpenGL开始绘制时进行同步389
12.8 小结392
第三部分 特定平台应用394
第13章 Windows上的OpenGL394
13.1 Windows中的OpenGL实现395
13.1.1 微软的OpenGL395
13.1.2 现代图形驱动程序395
13.1.3 扩展OpenGL396
13.1.4 WGL扩展398
13.2 基本窗口渲染399
13.2.1 GDI设备环境399
13.2.2 像素格式400
13.2.3 OpenGL渲染环境406
13.3 综合运用409
13.3.1 创建窗口410
13.4 全屏渲染414
13.5 双重缓冲415
13.5.1 消除视觉撕裂415
13.6 小结416
第14章 OS X上的OpenGL417
14.1 OpenGL在Mac上的4种接口417
14.2 在OpenGL中使用Cocoa418
14.2.1 创建一个Cocoa程序418
14.2.2 综合运用423
14.2.3 双缓冲还是单缓冲425
14.2.4 球体世界425
14.3 全屏渲染429
14.3.1 在Cocoa中进行全屏显示430
14.4 CGL435
14.4.1 同步帧速率435
14.4.2 提高填充性能436
14.4.3 多线程OpenGL437
14.5 小结437
第15章 Linux上的OpenGL438
15.1 基础知识438
15.1.1 简史439
15.1.2 什么是X Window439
15.2 入门讲解439
15.2.1 检查OpenGL440
15.2.2 设置Mesa440
15.2.3 设置Mesa硬件驱动程序441
15.2.4 设置GLUT和GLEW441
15.2.5 创建OpenGL应用程序442
15.3 GLX——X Window的接口443
15.3.1 显示和X Window444
15.3.2 配置管理和显示效果444
15.3.3 窗口和渲染表面447
15.3.4 OpenGL和GLX扩展448
15.3.5 环境管理448
15.3.6 同步451
15.3.7 GLX查询452
15.3.8 综合运用453
15.4 小结455
第16章 OpenGL ES:移动设备上的OpenGL456
16.1 精简的OpenGL456
16.1.1 ES指什么457
16.1.2 历史概述457
16.2 版本选择458
16.2.1 ES 2.0459
16.3 ES环境463
16.3.1 应用程序设计的注意事项463
16.3.2 有限环境的处理464
16.3.3 定点数学464
16.4 EGL:新的窗口环境465
16.4.1 EGL显示466
16.4.2 创建窗口467
16.4.3 环境管理470
16.4.4 呈现缓冲区和渲染同步471
16.4.5 更多关于EGL的内容472
16.5 处理嵌入式环境473
16.5.1 流行的操作系统473
16.5.2 供应商特定扩展473
16.5.3 个人玩家473
16.6 苹果掌上平台474
16.6.1 设置iPhone项目474
16.6.2 移植到iPhone477
16.7 小结483
附录A 更多阅读建议484
附录B 词汇表486
附录C (核心)OpenGL 3.3参考489