图书介绍
OPENGL编程指南 原书第5版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)DAVE SHREINER MASON WOO JACKIE NEIDER TOM DAVIS著;徐波等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111188888
- 出版时间:2006
- 标注页数:513页
- 文件大小:109MB
- 文件页数:543页
- 主题词:图形软件,OpenGL-程序设计
PDF下载
下载说明
OPENGL编程指南 原书第5版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
译者序1
前言1
第1章 OpenGL简介1
1.1 什么是OpenGL1
目录1
1.2 一段简单的OpenGL代码3
1.3 OpenGL函数的语法4
1.4 OpenGL是个状态机6
1.5 OpenGL渲染管线6
1.5.3 基于顶点的操作7
1.5.4 图元装配7
1.5.1 显示列表7
1.5.2 求值器7
1.5.5 像素操作8
1.5.6 纹理装配8
1.5.7 光栅化8
1.5.8 片断操作8
1.6 OpenGL相关的函数库8
1.6.1 包含文件9
1.6.2 GLUT,OpenGL实用工具包10
1.7 动画13
1.7.1 暂停刷新14
1.7.2 动画=重绘+交换15
第2章 状态管理和绘制几何物体17
2.1 绘图工具箱18
2.1.1 清除窗口18
2.1.2 指定颜色20
2.1.3 强制完成绘图操作21
2.1.4 坐标系统工具箱22
2.2.1 什么是点、直线和多边形23
2.2 描述点、直线和多边形23
2.2.2 指定顶点25
2.2.3 OpenGL几何绘图图元26
2.3 基本状态管理30
2.4 显示点、直线和多边形31
2.4.1 点的细节31
2.4.2 直线的细节31
2.4.3 多边形的细节35
2.5 法线向量40
2.6 顶点数组41
2.6.1 步骤1:启用数组42
2.6.2 步骤2:指定数组的数据43
2.6.3 步骤3:解引用和渲染45
2.6.4 混合数组50
2.7 缓冲区对象中的顶点数组52
2.7.1 利用缓冲区对象存储顶点数据53
2.7.2 为顶点数据创建缓冲区对象53
2.7.3 激活缓冲区对象53
2.7.4 用顶点数据分配和初始化缓冲区对象54
2.7.5 更新缓冲区对象中的数据值57
2.8 属性组58
2.7.6 清除缓冲区对象58
2.9 关于构建多边形表面模型的一些提示60
第3章 视图66
3.1 总览:照相机比喻67
3.1.1 一个简单的例子:绘制立方体69
3.1.2 通用的变换函数72
3.2 视图和模型变换73
3.2.1 对变换进行思考74
3.2.2 模型变换76
3.2.3 视图变换79
3.3.1 透视投影84
3.3 投影变换84
3.3.2 正投影86
3.3.3 可视空间裁剪86
3.4 视口变换87
3.4.1 定义视口87
3.4.2 变换深度坐标88
3.5 和变换相关的故障排除88
3.6 操纵矩阵堆栈90
3.6.2 投影矩阵堆栈92
3.6.1 模型视图矩阵堆栈92
3.7 额外的裁剪平面93
3.8 一些组合变换的例子95
3.8.1 创建太阳系模型95
3.8.2 创建有关节的机器人手臂97
3.9 逆变换和模拟变换100
第4章 颜色104
4.1 颜色感知104
4.2 计算机颜色105
4.3.1 RGBA显示模式107
4.3 RGBA和颜色索引模式107
4.3.2 颜色索引模式109
4.3.3 在RGBA和颜色索引模式中选择110
4.3.4 切换显示模式110
4.4 指定颜色和着色模型111
4.4.1 在RGBA模式下指定颜色111
4.4.2 在颜色索引模式下指定颜色112
4.4.3 指定着色模型113
第5章 光照115
5.1 隐藏表面消除工具箱116
5.2 现实世界和OpenGL光照117
5.2.1 环境光、散射光、镜面光和发射光118
5.2.2 材料颜色118
5.2.3 光和材料的RGB值119
5.3 一个简单的例子:渲染光照球体119
5.3.1 为每个物体的每个顶点定义法线向量120
5.3.2 创建、定位和启用光源121
5.3.3 选择光照模型121
5.4 创建光源122
5.3.5 一些重要注意事项122
5.3.4 为场景中的物体定义材料属性122
5.4.1 颜色123
5.4.2 位置和衰减124
5.4.3 聚光灯125
5.4.4 多光源126
5.4.5 控制光源的位置和方向127
5.5 选择光照模型131
5.5.1 全局环境光131
5.5.4 镜面辅助颜色132
5.5.3 双面光照132
5.5.2 局部的观察点或无限远的观察点132
5.5.5 启用光照133
5.6 定义材料属性133
5.6.1 散射和环境反射134
5.6.2 镜面反射135
5.6.3 发射光颜色135
5.6.4 更改材料属性135
5.6.5 颜色材料模式137
5.7.3 光源的贡献140
5.7.2 经过缩放的全局环境光140
5.7.1 材料的发射光140
5.7 光照的数学知识140
5.7.4 完整的光照计算公式142
5.7.5 镜面辅助颜色142
5.8 颜色索引模式下的光照143
第6章 混合、抗锯齿、雾和多边形偏移145
6.1 混合146
6.1.1 源因子和目标因子146
6.1.3 使用混合方程式组合像素148
6.1.2 启用混合148
6.1.4 混合的样例用法150
6.1.5 一个混合的例子152
6.1.6 使用深度缓冲区进行三维混合153
6.2 抗锯齿156
6.2.1 对点和直线进行抗锯齿处理158
6.2.2 使用多重采样对几何图形进行抗锯齿处理162
6.2.3 对多边形进行抗锯齿处理165
6.3 雾166
6.3.1 使用雾166
6.3.2 雾方程式169
6.4 点参数174
6.5 多边形偏移176
第7章 显示列表179
7.1 为什么使用显示列表179
7.2 一个使用显示列表的例子180
7.3 显示列表的设计哲学182
7.4 创建和执行显示列表184
7.4.1 命名和创建显示列表185
7.4.2 存储在显示列表里的是什么185
7.4.4 层次式显示列表187
7.4.3 执行显示列表187
7.4.5 管理显示列表索引188
7.5 执行多个显示列表188
7.6 用显示列表管理状态变量193
第8章 绘制像素、位图、字体和图像196
8.1 位图和字体197
8.1.1 当前光栅位置198
8.1.2 绘制位图199
8.1.3 选择位图的颜色200
8.1.4 字体和显示列表200
8.1.5 定义和使用一种完整的字体201
8.2 图像203
8.3 图像管线208
8.3.1 像素包装和解包210
8.3.2 控制像素存储模式210
8.3.3 像素传输操作213
8.3.4 像素映射215
8.3.5 放大、缩小或翻转图像216
8.4 读取和绘制像素矩形218
8.4.1 像素矩形的绘制过程218
8.4.2 像素矩形的读取过程220
8.6 图像处理子集221
8.5 提高像素绘图速度的技巧221
8.6.1 颜色表222
8.6.2 卷积226
8.6.3 颜色矩阵231
8.6.4 柱状图232
8.6.5 最小最大值234
第9章 纹理贴图236
9.1 概述和示例239
9.1.1 纹理贴图的步骤239
9.1.2 一个示例程序240
9.2 指定纹理242
9.2.1 纹理代理245
9.2.2 替换纹理图像的全部或一部分247
9.2.3 一维纹理249
9.2.4 三维纹理250
9.2.5 压缩纹理图像254
9.2.6 使用纹理边框256
9.2.7 Mipmap:多重细节层256
9.3 过滤263
9.4.2 创建和使用纹理对象266
9.4 纹理对象266
9.4.1 命名纹理对象266
9.4.3 清除纹理对象269
9.4.4 常驻纹理工作集269
9.5 纹理函数271
9.6 分配纹理坐标273
9.6.1 计算适当的纹理坐标274
9.6.2 重复和截取纹理275
9.7 纹理坐标自动生成278
9.7.1 创建轮廓线279
9.7.2 球体纹理283
9.7.3 立方图纹理284
9.8 多重纹理285
9.9 纹理组合器函数289
9.10 在纹理之后应用辅助颜色293
9.10.1 在禁用光照时使用辅助颜色293
9.10.2 启用光照后的辅助镜面颜色294
9.11 纹理矩阵堆栈294
9.12 深度纹理295
9.12.1 创建阴影图295
9.12.2 生成纹理坐标并进行渲染296
第10章 帧缓冲区298
10.1 缓冲区及其用途299
10.1.1 颜色缓冲区300
10.1.2 清除缓冲区301
10.1.3 选择用于读取和写入的颜色缓冲区302
10.1.4 缓冲区的屏蔽303
10.2 片断的测试和操作304
10.2.1 裁剪测试304
10.2.2 alpha测试305
10.2.3 模版测试306
10.2.5 遮挡查询310
10.2.4 深度测试310
10.2.6 混合、抖动和逻辑操作312
10.3 累积缓冲区314
10.3.1 场景抗锯齿315
10.3.2 运动模糊319
10.3.3 景深320
10.3.4 柔和阴影322
10.3.5 微移323
第11章 分格化和二次方程表面324
11.1 多边形分格化324
11.1.2 分格化回调函数325
11.1.1 创建分格化对象325
11.1.3 分格化属性329
11.1.4 多边形定义332
11.1.5 删除分格化对象334
11.1.6 提高分格化性能的建议335
11.1.7 描述GLU错误335
11.1.8 向后兼容性335
11.2 二次方程表面:渲染球体、圆柱体和圆盘336
11.2.2 控制二次方程对象的属性337
11.2.1 管理二次方程对象337
11.2.3 二次方程图元338
第12章 求值器和NURBS342
12.1 前提条件342
12.2 求值器343
12.2.1 一维求值器343
12.2.2 二维求值器347
12.2.3 使用求值器进行纹理处理350
12.3 GLU的NURBS接口352
12.3.1 一个简单的NURBS例子352
12.3.2 管理NURBS对象356
12.3.3 创建NURBS曲线或表面358
12.3.4 修剪NURBS表面362
第13章 选择和反馈365
13.1 选择365
13.1.1 基本步骤366
13.1.2 创建名字堆栈366
13.1.3 点击记录368
13.1.4 一个选择例子368
13.1.5 挑选371
13.1.6 编写使用选择程序的一些建议378
13.2 反馈380
13.2.1 反馈数组381
13.2.2 在反馈模式下使用标记381
13.2.3 一个反馈例子382
第14章 OpenGL高级技巧386
14.1 错误处理387
14.2 OpenGL版本388
14.2.2 窗口系统扩展版本389
14.3 标准的扩展389
14.2.1 工具库版本389
14.4 实现半透明效果391
14.5 轻松实现淡出效果391
14.6 使用后缓冲区进行物体选择392
14.7 低开销的图像转换393
14.8 显示层次394
14.9 抗锯齿字符395
14.10 绘制圆点397
14.11 图像插值397
14.12 制作贴花397
14.13 使用模版缓冲区绘制填充的凹多边形398
14.14 寻找冲突区域399
14.15 阴影400
14.16 隐藏直线消除401
14.16.1 使用多边形偏移实现隐藏直线消除401
14.16.2 使用模板缓冲区实现隐藏直线消除402
14.17 纹理贴图的应用402
14.18 绘制深度缓冲的图像403
14.19 Dirichlet域403
14.20 使用模版缓冲区实现生存游戏404
14.21 glDrawPixels()和glCopyPixels()的其他应用405
第15章 OpenGL 2.0和OpenGL着色语言407
15.1 为什么要使用OpenGL 2.0407
15.2 点块纹理407
15.3 OpenGL图形管线和可编程着色管线408
15.3.1 顶点处理409
15.3.2 片断处理410
15.4 使用GLSL着色器411
15.4.1 着色器示例411
15.4.2 OpenGL/GLSL接口412
15.6.1 程序起点417
15.5 OpenGL着色语言417
15.6 使用GLSL创建着色器417
15.6.2 声明变量418
15.6.3 聚合类型419
15.6.4 语句423
15.6.5 函数425
15.6.6 在GLSL程序中使用OpenGL状态值426
15.7 在着色器中使用纹理贴图427
15.7.1 顶点着色器的细节428
15.7.2 片断着色器432
附录A 操作顺序435
附录B 状态变量439
附录C OpenGL和窗口系统458
附录D GLUT基础知识473
附录E 计算法线向量478
附录F 齐次坐标和变换矩阵482
附录G 编程提示486
附录H OpenGL的不变性规则489
附录I OpenGL着色语言内置的变量和函数491
术语表505
热门推荐
- 1244924.html
- 2321753.html
- 1326529.html
- 1308889.html
- 2260006.html
- 510768.html
- 827148.html
- 1577492.html
- 2169955.html
- 1612475.html
- http://www.ickdjs.cc/book_2242324.html
- http://www.ickdjs.cc/book_2936411.html
- http://www.ickdjs.cc/book_1314215.html
- http://www.ickdjs.cc/book_517969.html
- http://www.ickdjs.cc/book_1891903.html
- http://www.ickdjs.cc/book_1303276.html
- http://www.ickdjs.cc/book_245360.html
- http://www.ickdjs.cc/book_1542072.html
- http://www.ickdjs.cc/book_348954.html
- http://www.ickdjs.cc/book_3016344.html