图书介绍
GPU精粹 实时图形编程的技术、技巧和技艺PDF|Epub|txt|kindle电子书版本网盘下载
![GPU精粹 实时图形编程的技术、技巧和技艺](https://www.shukui.net/cover/42/34753491.jpg)
- (美)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 顶点Shader36
3.5 实现36
3.5.2 像素Shader41
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 泛光Shader119
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 什么是SBRDF198
第18章 空间的BRDFs198
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 顶点Shader211
19.3 片元Shader213
19.5 影子215
19.4 漫反射IBL215
19.6 使用局部立方体贴图作背景216
19.8 参考文献217
19.7 小结217
20.1.1 求单元219
20.1 纹理爆炸101219
第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 9240
21.3 特定硬件的实现240
21.3.3 Direct3D 7242
21.3.2 Direct3D 8242
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 什么是OpenEXR291
第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 ID3DXEffectCompiler354
30.6.2 Direct3D效果354
30.7 场景管理355
30.6.4 ID3DXEffect355
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转化为实时的shader377
33.2.2 光源shader378
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 4D387
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 关于shader409
36.1 引言409
第36章 将Shader整合到应用程序中去409
36.3 一个effect文件的剖析411
36.3.5 评注412
36.3.4 technique412
36.3.1 变量412
36.3.2 结构体412
36.3.3 pass412
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