图书介绍
GPU精粹 实时图形编程的技术、技巧和技艺pdf电子书版本下载
- (美)Randima Fernando编;姚勇,王小琴译 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115141762
- 出版时间:2006
- 标注页数:497页
- 文件大小:83MB
- 文件页数:535页
- 主题词:图像处理-硬件
PDF下载
下载说明
GPU精粹 实时图形编程的技术、技巧和技艺PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 自然效果 2
简介 2
1.1 目标和范围 4
第1章 用物理模型进行高效的水模拟 4
1.2.1 波的选择 5
1.2 正弦近似值的加和 5
1.2.2 法线和切线 6
1.2.3 几何波 8
1.2.4 纹理波 11
1.3.1 深度的使用 13
1.3 编辑 13
1.3.2 重载 14
1.3.4 纹理坐标 15
1.3.3 边长的过滤 15
1.4.1 凹凸环境映射参数 16
1.4 运行时的处理 16
1.4.2 顶点和像素的处理 18
1.6 参考文献 19
1.5 小结 19
2.1 引言 21
第2章 水刻蚀的渲染 21
2.2 刻蚀的计算 22
2.3 方法 24
2.5 使用高级着色语言实现 25
2.4 使用OpenGL实现 25
2.7 参考文献 30
2.6 小结 30
3.1 引言 31
第3章 Dawn演示中的皮肤 31
3.3.1 高动态范围的环境 32
3.3 场景的照明 32
3.2 皮肤着色 32
3.3.2 遮挡 34
3.4 皮肤如何对光进行响应 35
3.5.1 顶点Shader 36
3.5 实现 36
3.5.2 像素Shader 41
3.7 参考文献 43
3.6 小结 43
4.1 简介 44
第4章 Dawn演示中的动画 44
4.3.1 高级语言中的变形网格对象 45
4.3 变形网格对象 45
4.2 网格的动画 45
4.3.2 变形网格对象的实现 47
4.4 蒙皮 48
4.6 参考文献 50
4.5 小结 50
5.1 噪声函数 51
第5章 改良的Perlin噪声的实现 51
5.3 最初实现的缺点 52
5.2 最初的实现 52
5.4 对噪声函数的改进 54
5.5 如何在像素shader中产生好的假噪声 56
5.6 不考虑相邻顶点制作凹凸贴图 57
5.8 参考文献 58
5.7 小结 58
6.1 创建逼真的火焰 59
第6章 Vulcan演示中的火 59
6.2.1 火焰和烟的动画 61
6.2 动画精灵的实现 61
6.2.2 使火焰增加多样性 62
6.2.3 动画的存储 63
6.2.4 火焰和烟的混合 64
6.4.1 层次合成 65
6.4 性能 65
6.3 粒子运动 65
6.5 渲染后的效果 67
6.4.2 定制的精灵 67
6.5.2 热微光 68
6.5.1 辉光 68
6.5.3 颗粒 70
6.5.4 最终的程序 71
6.6 小结 72
7.2 概述 73
7.1 引言 73
第7章 无数波动草叶的渲染 73
7.3.2 草体 74
7.3.1 草的纹理 74
7.3 草体的准备 74
7.4.1 一般思路 76
7.4 动画 76
7.4.2 每丛草体的动画 77
7.4.3 每个顶点的动画 79
7.4.4 每个草体的动画 80
7.6 参考文献 82
7.5 小结 82
8.1.1 波动光学 84
8.1 什么是衍射 84
第8章 衍射的模拟 84
8.1.2 衍射的物理学 85
8.2 实现 86
8.3 结果 89
8.5 参考文献 90
8.4 小结 90
简介 92
第2部分 光照和阴影 92
9.1 引言 94
第9章 有效的阴影体渲染 94
9.2.1 多遍渲染 96
9.2 程序结构 96
9.2.3 在无限远处工作 99
9.2.2 顶点缓冲器结构 99
9.3.1 数学 101
9.3 详细的讨论 101
9.3.3 markShadows方法 103
9.3.2 代码 103
9.3.4 findBackfaces方法 104
9.3.5 亮罩和暗罩 105
9.3.6 侧面 106
9.4 调试 107
9.5.2 点光源和聚光灯 108
9.5.1 方向光 108
9.5 几何优化 108
9.5.4 除罩操作 109
9.5.3 剔除阴影体 109
9.6.1 有限的体积 110
9.6 填充率的优化 110
9.6.3 Z-边界 111
9.6.2 XY裁剪 111
9.7 将来的阴影 112
9.8 参考文献 113
10.1 引言 114
第10章 电影级的光照 114
10.2 直射光照明模型 115
10.2.3 造型 116
10.2.2 颜色 116
10.2.1 选择 116
10.2.4 阴影 117
10.2.6 结果 118
10.2.5 纹理 118
10.3 泛光Shader 119
10.5 小结 124
10.4.3 优化 124
10.4 性能分析 124
10.4.1 速度 124
10.4.2 开销 124
10.6 参考文献 125
11.2 靠近的百分比过滤 126
11.1 引言 126
第11章 阴影贴图反走样 126
11.3 平滑滤波的实现 127
11.4 较少地取样 128
11.5 工作原理 129
11.7 参考文献 131
11.6 小结 131
12.1 引言 132
第12章 全方位的阴影映射 132
12.2.1 条件 133
12.2 阴影映射的算法 133
12.1.1 模板阴影 133
12.1.2 阴影映射 133
12.2.2 算法 134
12.3.1 系统需求 135
12.3 实现 135
12.2.3 纹理格式 135
12.2.4 阴影贴图的尺寸 135
12.2.5 几何体的数值范围 135
12.3.3 渲染阶段1:渲染到阴影贴图 136
12.3.2 资源创建 136
12.3.6 阴影的计算 137
12.3.5 光照计算 137
12.3.4 渲染阶段2:基本渲染 137
12.4 添加模糊的阴影 138
12.3.8 最终的着色遍(Lighting×Shadow) 138
12.3.7 技巧和窍门 138
12.6 参考文献 139
12.5 小结 139
13.1 加油站 140
第13章 使用遮挡区间映射产生模糊的阴影 140
13.2 算法 141
13.3 创建映射 142
13.4 渲染 143
13.5 局限性 144
13.6 小结 145
13.7 参考文献 146
14.1 引言 147
第14章 透视阴影贴图 147
14.2.1 虚拟摄像机 148
14.2 PSM算法的问题 148
14.2.2 光源摄像机 152
14.2.3 偏置 157
14.3.1 过滤器 160
14.3 获得更好阴影映射的技巧 160
14.3.2 模糊 161
14.4 结果 164
14.5 参考文献 165
15.2.1 逐像素光照的例子 166
15.2 批和逐像素光照 166
第15章 逐像素光照的可见性管理 166
15.1 GPU书中的可见性 166
15.2.2 究竟需要多少批 167
15.3.4 阴影集合 168
15.3.3 照明集合 168
15.3 作为集合的可见性 168
15.3.1 可见集合 168
15.3.2 光源集合 168
15.4.3 照明集合的生成 169
15.4.2 光源集合的生成 169
15.4 各集合的生成 169
15.4.1 可见集合的生成 169
15.4.4 阴影集合的生成 170
15.5 可见性改善填充率 172
15.8 参考文献 173
15.7 小结 173
15.6 实际的应用 173
简介 176
第3部分 材质 176
16.2 简单的散射近似 177
16.1 次表面散射的视觉效果 177
第16章 次表面散射的实时近似 177
16.3 用深度映射模拟吸收 179
16.3.1 实现细节 182
16.4 纹理空间的漫反散 183
16.3.2 更精密的散射模型 183
16.6 参考文献 187
16.5 小结 187
17.1 概述 188
第17章 环境遮挡 188
17.2 预处理步骤 189
17.3 硬件加速计算遮挡 190
17.4 用环境遮挡贴图来渲染 191
17.5 小结 194
17.6 参考文献 195
18.2 表达式的详述 198
18.1 什么是SBRDF 198
第18章 空间的BRDFs 198
18.3 使用离散光的渲染 200
18.4.1 算法 202
18.4 使用环境贴图的渲染 202
18.4.2 shader代码 204
18.6 参考文献 207
18.5 小结 207
19.1 基于图像光照的局部化 208
第19章 基于图像的光照 208
19.2 顶点Shader 211
19.3 片元Shader 213
19.5 影子 215
19.4 漫反射IBL 215
19.6 使用局部立方体贴图作背景 216
19.8 参考文献 217
19.7 小结 217
20.1.1 求单元 219
20.1 纹理爆炸101 219
第20章 纹理爆炸 219
20.1.3 相邻单元中的图像 220
20.1.2 对图像采样 220
20.1.4 图像优先级 221
20.1.5 程序化图像 222
20.1.6 图像的随机选择 223
20.2 技术上的考虑 224
20.3.2 可控的变量密度 225
20.3.1 缩放和转动 225
20.3 高级特性 225
20.3.3 程序化的3D爆炸 226
20.3.5 Voronoi相关的细胞法 227
20.3.4 随时间变化的纹理 227
20.5 参考文献 229
20.4 小结 229
简介 232
第4部分 图像处理 232
21.1 技术概述 234
第21章 实时辉光 234
21.2.1 辉光源的指定和渲染 237
21.2 渲染辉光的步骤 237
21.2.3 分步卷积 238
21.2.2 模糊辉光源 238
21.2.4 GPU上的卷积 239
21.3.1 Direct3D 9 240
21.3 特定硬件的实现 240
21.3.3 Direct3D 7 242
21.3.2 Direct3D 8 242
21.5.1 渲染场景 243
21.5 把效果加入一个游戏引擎 243
21.4 模糊的其他用途 243
21.5.3 DirectX 7的精度问题 244
21.5.2 走样问题 244
21.5.5 渐变效果 245
21.5.4 残留图像效应 245
21.7 参考文献 246
21.6 小结 246
22.2.1 级别 248
22.2 基于通道的颜色校正 248
第22章 颜色控制 248
22.1 引言 248
22.2.2 曲线 250
22.3.1 灰度变换 252
22.3 多通道的彩色校正和变换 252
22.3.2 彩色空间的变换 253
22.4 参考文献 255
第23章 景深:技术综述 256
23.1 什么是景深 256
23.1.2 主要技术 257
23.1.1 模糊圈的计算 257
23.3 累积缓冲区的景深 258
23.2 光线跟踪的景深 258
23.4 分层的景深 259
23.5 向前映射的z缓冲区景深 260
23.6 反向映射的z缓冲区景深 261
23.7 小结 265
23.8 参考文献 266
24.1 质量与速度 267
第24章 高质量的过滤 267
24.2 对GPU求导的理解 277
24.3 解析的反走样和纹理化 278
24.5 参考文献 284
24.4 小结 284
25.1 在shader中求导的需求 285
第25章 用纹理贴图进行快速过滤宽度的计算 285
25.2 用纹理计算过滤宽度 287
25.3 讨论 288
25.4 参考文献 289
26.1.1 高动态范围图像 291
26.1 什么是OpenEXR 291
第26章 OpenEXR图像文件格式 291
26.1.3 可表示的数值范围 293
26.1.2 “半精度”(Half)格式 293
26.2.2 像素 294
26.2.1 文件头 294
26.1.4 彩色分辨率 294
26.1.5 C++接口 294
26.2 OpenEXR文件结构 294
26.4.1 OpenEXR图像的读和显示 295
26.4 OpenEXR的使用 295
26.3 OpenEXR数据压缩 295
26.4.2 一个OpenEXR图像的渲染和写入 296
26.5 线性像素值 300
26.6 创建和使用HDR图像 302
26.7 小结 303
26.8 参考文献 304
27.1 引言 305
第27章 图像处理的框架 305
27.2.1 操作器和过滤器 306
27.2 框架设计 306
27.2.2 图像数据 307
27.2.3 丢失的块 308
27.3 实现 310
27.3.1 Image类 311
27.3.2 ImageFilter类 314
27.3.3 过滤的实现 315
27.4 一个示例应用程序 318
27.5 性能和局限性 319
27.6 小结 320
27.7 参考文献 321
简介 324
第5部分 性能及实践 324
28.1.2 方法 326
28.1.1 流水线 326
第28章 图形流水线性能 326
28.1 概述 326
28.2 定位瓶颈 327
28.2.3 片元着色 328
28.2.2 纹理带宽 328
28.2.1 光栅操作 328
28.3.1 在CPU上优化 329
28.3 优化 329
28.2.4 顶点处理 329
28.2.5 顶点和索引传输 329
28.3.2 减少顶点传输的开销 330
28.3.4 加速片元着色 331
28.3.3 顶点处理的优化 331
28.3.5 减小纹理带宽 332
28.3.6 优化帧缓冲带宽 333
28.5 参考文献 334
28.4 小结 334
29.1.2 早期z值拒绝 335
29.1.1 遮挡查询 335
第29章 有效的遮挡剔除 335
29.1 什么是遮挡剔除 335
29.3 初步使用遮挡查询 336
29.2 遮挡查询如何工作 336
29.4 更进一步的应用 337
29.3.2 遮挡物和被遮挡物的比较 337
29.3.1 恰当地使用遮挡查询 337
29.5 关于包围盒 339
29.4.2 一个防止误解的说明 339
29.4.1 将物体排序 339
29.5.2 动画的物体 340
29.5.1 静态的物体 340
29.6.2 高分辨率的渲染 341
29.6.1 CPU消耗太高 341
29.6 其他问题 341
29.6.4 锥体剔除 342
29.6.3 快速深度写入的性能 342
29.8 一个应用:透镜耀斑 343
29.7 一点小忠告 343
29.8.1 渲染透镜耀斑的旧方法 344
29.9 小结 345
29.8.2 渲染透镜耀斑的新方法 345
29.10 参考文献 346
30.2 设计初衷和使用对象 347
30.1 工具的开发 347
第30章 FX Composer的设计 347
30.3 对象设计 348
30.4 文件格式 352
30.6.1 设备窗口 353
30.6 Direct3D图形的实现 353
30.5 用户接口 353
30.6.3 ID3DXEffectCompiler 354
30.6.2 Direct3D效果 354
30.7 场景管理 355
30.6.4 ID3DXEffect 355
30.9 参考文献 356
30.8 小结 356
31.1 开始 357
第31章 FX Composer的使用 357
31.1.1 材质面板 358
31.1.2 场景图形面板 359
31.1.3 编辑窗口 360
31.1.5 属性面板 361
31.1.4 ShaderPerf面板 361
31.1.6 场景面板 363
31.1.7 纹理面板 364
31.1.9 日志面板 365
31.1.8 任务面板 365
31.2 项目示例 366
31.3 小结 367
第32章 Shader接口入门 368
32.1 shader接口的基础 369
32.2 一个灵活的光源描述 371
32.3 材质树 373
32.5 参考文献 376
32.4 小结 376
33.1 引言 377
第33章 将产品的RenderMan shader转化为实时的shader 377
33.2.2 光源shader 378
33.2.1 光源 378
33.2 光照 378
33.3 顶点程序与片元程序的比较 379
33.2.3 其他的光源参数 379
33.4 使用顶点和片元程序 380
33.5.2 把代码转移到顶点程序 381
33.5.1 把代码转移到应用层 381
33.5 片元程序的优化技术 381
33.5.3 通过纹理查询优化 382
33.5.5 最终的优化 383
33.5.4 向量化的优化 383
33.6 小结 384
33.7 参考文献 386
34.1 引言 387
第34章 将硬件着色整合进Cinema 4D 387
34.2 把Cinema 4D连接到CgFX上去 389
34.3 shader和参数管理 390
34.4 模拟离线渲染 391
34.5 结果和性能 393
34.6 收获和教训 394
34.7 参考文献 395
35.1 引言 396
第35章 在实时应用程序中使用高质软件渲染效果 396
35.2 用于硬件渲染的内容流水线 397
35.3.2 属性映射 398
35.3.1 几何数据 398
35.3 硬件渲染的组件 398
35.4.2 对纹理和顶点的渲染 400
35.4.1 创建几何图形 400
35.4 组件的产生 400
35.5 试验情况和结果 403
35.7 参考文献 408
35.6 小结 408
36.2 关于shader 409
36.1 引言 409
第36章 将Shader整合到应用程序中去 409
36.3 一个effect文件的剖析 411
36.3.5 评注 412
36.3.4 technique 412
36.3.1 变量 412
36.3.2 结构体 412
36.3.3 pass 412
36.4.1 场景信息 413
36.4 shader数据的类型 413
36.5.1 场景信息 414
36.5 与shader的通信 414
36.4.2 材质 414
36.4.3 渲染的场景 414
36.4.4 顶点数据 414
36.5.2 材质的参数 415
36.5.4 场景 416
36.5.3 顶点格式 416
36.6.1 对预处理程序的支持 417
36.6 effct文件格式的扩展 417
36.5.5 就场景对technique和pass的比较 417
36.6.3 shader继承的添加 418
36.6.2 对shader变化的支持 418
36.8 参考文献 419
36.7 小结 419
简介 422
第6部分 超越三角形 422
37.1 用GPU进行计算 424
第37章 用于GPU计算的工具箱 424
37.1.1 编程模型 425
37.2 约减 426
37.1.3 高级的GPU程序 426
37.1.2 并行编程 426
37.2.1 并行的约减 427
37.3.1 Bitonic归并排序 428
37.3 排序和搜索 428
37.2.2 有关约减的注意事项 428
37.3.2 二分搜索 430
37.4.1 有限的输出 432
37.4 挑战 432
37.6 参考文献 433
37.5 小结 433
37.4.2 缓慢的回读 433
37.4.3 GPU和CPU的比较 433
38.1 引言 435
第38章 在GPU上的快速流体动力学模拟 435
38.2 数学背景 436
38.1.3 方法 436
38.1.1 目的 436
38.1.2 假设 436
38.2.1 不可压缩流体的Navier-Stokes方程式 437
38.2.3 矢量微积分的简要复习 438
38.2.2 Navier-Stokes方程式的各项 438
38.2.4 解Navier-Stokes方程式 439
38.3 实现 443
38.3.1 CPU-GPU的类比 444
38.3.3 片元程序的实现 445
38.3.2 片运算 445
38.4.2 浮力和对流 450
38.4.1 模拟液体和气体 450
38.4 应用 450
38.5 扩展 451
38.5.4 任意边界 452
38.5.3 交错排列的网格 452
38.5.1 旋涡状态的限制 452
38.5.2 三维 452
38.7 参考文献 453
38.6 小结 453
38.5.5 流体的自由表面 453
39.1 引言 454
第39章 体渲染技术 454
39.2 体渲染 455
39.3 基于纹理的体渲染 456
39.4.1 数据的表达和处理 459
39.4 实现细节 459
39.4.2 代理几何体 460
39.4.3 渲染 461
39.5.1 体光照 463
39.5 高级技术 463
39.6 对性能的考虑 467
39.5.2 程序化渲染 467
39.8 参考文献 469
39.7 小结 469
40.1 背景 471
第40章 用于三维超声波可视化的实时着色 471
40.2.1 笛卡尔网格数据的体渲染 473
40.2 引言 473
40.2.2 体渲染锥体网格中的数据 475
40.5 参考文献 480
40.4 小结 480
40.3 结果 480
41.1.2 随机点立体图 481
41.1.1 立体摄影 481
第41章 实时立体图 481
41.1 什么是立体图 481
41.1.3 单个图像的立体图 483
41.2.1 参数 484
41.2 单个图像立体图的创建 484
41.2.2 渲染 485
41.2.3 动画的单个图像立体图的创建 486
41.2.4 片元程序 488
41.3 示例应用程序 489
41.4 参考文献 490
42.1 什么是变形 491
第42章 变形 491
42.2.2 写顶点程序 492
42.2.1 变形的公式 492
42.2 在GPU上的变形 492
42.2.3 法线的变形 493
42.3 局限性 494
42.5 例子:波浪变形 495
42.4 性能 495
42.6 小结 497