图书介绍
OpenGL着色语言PDF|Epub|txt|kindle电子书版本网盘下载
![OpenGL着色语言](https://www.shukui.net/cover/67/33069183.jpg)
- (美)Randi J. Rost著;天宏工作室译 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115151393
- 出版时间:2006
- 标注页数:352页
- 文件大小:35MB
- 文件页数:395页
- 主题词:图形软件,OpenGL-程序设计
PDF下载
下载说明
OpenGL着色语言PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 OpenGL基础知识概述1
1.1 OpenGL的历史1
1.2 发展OpenGL2
1.3 执行模型3
1.4 帧缓冲区3
1.5 状态5
1.6 处理管线6
1.7 绘制几何对象6
1.7.1 指定几何对象7
1.7.2 逐个顶点操作8
1.7.3 图元组装9
1.7.4 图元处理10
1.7.5 栅格化10
1.7.6 片元处理11
1.7.7 逐个片元的操作11
1.7.8 帧缓冲区操作12
1.8 绘制图像12
1.8.1 像素解码12
1.8.2 像素传输13
1.8.3 栅格化和后端处理13
1.9 坐标变换14
1.8.4 读取控制14
1.10 纹理18
1.11 小结21
1.12 参考资料21
第2章 基础知识23
2.1 OpenGL着色语言简介23
2.2 为什么要编写着色器24
2.3 OpenGL可编程处理器25
2.3.1 顶点处理器26
2.3.2 片元处理器29
2.4.1 语言的设计考虑31
2.4 语言概述31
2.4.2 以C为基础33
2.4.3 对C的增加33
2.4.4 来自C++的增加34
2.4.5 不受支持的C特性35
2.4.6 其他差异35
2.5 系统概述36
2.5.1 驱动程序模型36
2.5.2 OpenGL着色语言编译器/链接器37
2.5.3 OpenGL API扩展38
2.6 主要优点40
2.7 小结41
2.8 参考资料42
第3章 语言定义43
3.1 着色器对的实例43
3.2 数据类型44
3.2.1 标量45
3.2.2 矢量46
3.2.3 矩阵47
3.2.4 取样器47
3.2.6 数组48
3.2.5 结构48
3.2.7 Void49
3.2.8 声明和作用域49
3.2.9 类型匹配与提升50
3.3 初始化器和构造函数50
3.4 类型转换51
3.5 限定符和着色器接口52
3.5.1 Attribute限定符52
3.5.2 Uniform限定符52
3.5.3 Varying限定符53
3.5.4 常量限定符53
3.6 流控制54
3.5.5 缺少限定符54
3.6.1 函数55
3.6.2 调用约定55
3.6.3 内置函数56
3.7 操作56
3.7.1 索引57
3.7.2 混合57
3.7.3 按部分操作58
3.8 预处理器60
3.9 预处理器表达式61
3.10 错误处理61
3.12 参考资料62
3.11 小结62
第4章 OpenGL可编程管线65
4.1 顶点处理器65
4.1.1 顶点属性66
4.1.2 一致变量67
4.1.3 特殊的输出变量68
4.1.4 内置的易变变量68
4.1.5 用户定义的易变变量69
4.2 片元处理器69
4.2.1 易变变量70
4.2.4 特殊的输出变量71
4.2.2 一致变量71
4.2.3 特殊的输入变量71
4.3 内置一致变量72
4.4 内置常量75
4.5 与OpenGL的固定功能交互76
4.5.1 两侧颜色模式76
4.5.2 点大小模式77
4.5.3 裁剪77
4.5.4 光栅位置78
4.5.5 位置不变性78
4.5.6 纹理处理79
4.6 小结80
4.7 参考资料80
第5章 内置函数83
5.1 角度和三角函数84
5.2 指数函数85
5.3 常见函数86
5.4 几何函数90
5.5 矩阵函数92
5.6 矢量关系函数92
5.7 纹理访问函数94
5.8 片元处理函数95
5.9 噪声函数96
5.10 小结97
5.11 参考资料97
第6章 简单的着色实例99
6.1 砖块着色器简介99
6.2 顶点着色器100
6.3 片元着色器104
6.4 观察108
6.5 小结108
6.6 参考资料109
第7章 OpenGL着色语言API111
7.1 创建着色器对象112
7.2 编译着色器对象113
7.3 链接和使用着色器114
7.4 清理工作116
7.5 查询函数117
7.6 指定顶点属性120
7.7 指定一致变量128
7.8 采样器133
7.9 开发辅助工具133
7.10 与实现有关的API值134
7.11 砖块着色器的应用程序代码135
7.12 小结138
7.13 参考资料138
第8章 开发着色器141
8.1 一般原则141
8.1.1 理解问题141
8.1.2 逐步提高复杂性142
8.1.3 测试和重复142
8.1.4 尽量简化142
8.2.1 考虑计算频率143
8.2 性能考虑143
8.1.5 模块化143
8.2.2 分析算法144
8.2.3 使用内置函数144
8.2.4 使用矢量144
8.2.5 使用纹理编写复杂函数144
8.2.6 回顾信息日志144
8.3 着色器调试145
8.3.1 使用顶点着色器的输出145
8.3.2 使用片元着色器的输出145
8.4.1 着色器开发工具146
8.4.1 RenderMonkey146
8.3.3 使用简单的几何对象146
8.4.2 OpenGL着色语言编译器前端148
8.5 小结149
8.6 参考资料149
第9章 传统着色器151
9.1 变换151
9.2 光源152
9.2.1 定向光源153
9.2.2 点光源153
9.2.3 聚光灯155
9.3 材质属性和光照156
9.4 两侧光照158
9.5 无光照158
9.6 雾化159
9.7 纹理坐标生成160
9.8 用户裁剪162
9.9 纹理应用162
9.10 小结164
9.11 参考资料164
第10章 存储的纹理着色器165
10.1 从着色器内部访问纹理贴图166
10.2.1 应用程序设置167
10.2 简单的纹理处理实例167
10.2.2 顶点着色器168
10.2.3 片元着色器169
10.3 多重纹理处理实例169
10.3.1 应用程序设置171
10.3.2 顶点着色器171
10.3.3 片元着色器172
10.4 环境贴图实例173
10.4.1 应用程序设置174
10.4.2 顶点着色器174
10.4.3 片元着色器175
10.5 使用BRDF数据的多项式纹理贴图177
10.5.1 应用程序设置179
10.5.2 顶点着色器180
10.5.3 片元着色器182
10.6 小结183
10.7 参考资料184
第11章 程序纹理着色器187
11.1 常规图案188
11.1.1 条纹顶点着色器189
11.1.2 条纹片元着色器190
11.2 玩具球191
11.2.1 应用程序设置192
11.2.2 顶点着色器192
11.2.3 片元着色器193
11.3 网格196
11.4 凹凸贴图197
11.4.1 应用程序设置199
11.4.2 顶点着色器200
11.4.3 片元着色器201
11.4.4 法向量贴图202
11.6 参考资料203
11.5 小结203
第12章 噪声205
12.1 定义噪声206
12.1.1 2D噪声209
12.1.2 更高维度的噪声210
12.1.3 在OpenGL着色器中使用噪声210
12.2 噪声纹理211
12.3 权衡考虑213
12.4 一个简单的噪声着色器214
12.4.1 应用程序设置214
12.4.2 顶点着色器214
12.4.3 片元着色器215
12.5 扰动216
12.5.1 太阳表面着色器216
12.5.2 大理石217
12.6 花岗岩217
12.7 木材218
12.7.1 应用程序设置218
12.7.2 片元着色器218
12.8 小结220
12.9 参考资料220
第13章 动画着色器223
13.1 开/关224
13.2 阈值224
13.3 转换224
13.4 关键帧插值225
13.5 其他混合效果227
13.6 粒子系统227
13.6.1 应用程序设置228
13.6.2 纸炮顶点着色器230
13.6.3 纸炮片元着色器231
13.7 摇摆232
13.6.4 进一步增强232
13.8 小结235
13.9 参考资料235
第14章 反走样过程纹理237
14.1 走样的原因237
14.2 避免走样238
14.3 提高分辨率239
14.4 反走样的条纹实例240
14.4.1 生成条纹240
14.4.2 分析预过滤241
14.4.3 自适应分析预过滤242
14.4.4 分析积分244
14.4.5 反走样的砖块片元着色器246
14.5 频率限定247
14.6 小结248
14.7 参考资料249
第15章 反真实着色器251
15.1 剖面线实例251
15.1.1 应用程序设置252
15.1.2 顶点着色器252
15.1.3 生成剖面线253
15.1.4 获得一致的线条密度253
15.1.6 添加特征255
15.1.5 光照255
15.1.7 剖面线片元着色器256
15.2 技术示意图实例257
15.2.1 应用程序设置259
15.2.2 顶点着色器259
15.2.3 片元着色器260
15.3 Mandelbrot实例261
15.3.1 Mandelbrot set简介261
15.3.2 顶点着色器263
15.3.3 片元着色器263
15.3.4 Julia set265
15.4 小结266
15.5 参考资料266
第16章 用于图像处理的着色器269
16.1 几何图像变换270
16.2 数学贴图270
16.3 查找表操作270
16.4 颜色空间变换271
16.5 图像内插和外插272
16.5.1 亮度272
16.5.4 锐度273
16.5.2 对比度273
16.5.3 饱和度273
16.6 混合模式274
16.6.1 正常274
16.6.2 平均275
16.6.3 溶解275
16.6.4 背面275
16.6.5 清除275
16.6.6 变暗275
16.6.10 颜色加深276
16.6.12 叠加276
16.6.11 颜色减淡276
16.6.8 正片叠底276
16.6.9 屏幕276
16.6.7 变亮276
16.6.13 柔光277
16.6.14 强光277
16.6.15 相加277
16.6.16 相减277
16.7 卷积278
16.6.19 排除278
16.6.20 不透明度278
16.6.18 反差值278
16.6.17 差值278
16.7.1 平滑280
16.7.2 边缘检测282
16.7.3 锐化283
16.8 小结284
16.9 参考资料284
第17章 语言的比较287
17.1 着色语言的历史287
17.2 RenderMan288
17.3 OpenGL Shader(ISL)290
17.4 HLSL291
17.5 Cg293
17.6 小结294
17.7 参考资料295
附录A 语言的语法297
附录B API函数参考309
glAttachObjectARB309
glBindAttribLocationARB310
glCompileShaderARB312
glCreateProgramObjectARB313
glCreateShaderObjectARB314
glDeleteObjectARB315
glDetachObjectARB316
glEnableVertexAttribArrayARB317
glGetActiveAttribARB318
glGetActiveUniformARB320
glGetAttachedObjectsARB322
glGetAttribLocationARB323
glGetHandleARB324
glGetinfoLogARB324
glGetObjectParameterARB326
glGetShaderSourceARB328
glGetUniformARB329
glGetUniformLocationARB331
glGetVertexAttribARB332
glGetVertexAttribPointervARB333
glLinkProgramARB334
glShaderSourceARB337
glUniformARB338
glUseProgramObjectARB342
glValidateProgramARB344
glVertexAttribARB345
glVertexAttribPointerARB348
后记351