书籍详情
光线追踪精粹:基于DXR及其他API的高质量实时渲染
作者:(美)Eric Haines 等主编;张静,黄琦,张鹏飞 译
出版社:科学出版社
出版时间:2021-08-01
ISBN:9787030695208
定价:¥188.00
购买这本书可以去
内容简介
本书共分七大部分:部分帮你理解现代光线追踪的基础知识和进行高效渲染所需的思维模式;第二部分为从事光线追踪器编写工作的读者提供一些对于问题的洞察,乃至解决方案;第三部分介绍构建一个产品级的光线追踪渲染器时对基本的效果进行处理的方法;第四部分介绍采样的相关知识;第五部分介绍了多个实用的降噪和滤波技术;第六部分展示五种混合使用光栅和光线追踪的渲染系统;第七部分介绍了用光线追踪实现全局光照的五个开拓性工作。本书提供了不少独门绝技,当这些技巧和技术由撰写本文的专家们分享出来时,它们成为了无价的珠宝。
作者简介
暂缺《光线追踪精粹:基于DXR及其他API的高质量实时渲染》作者简介
目录
目录
**部分 光线追踪基础
第1章 光线追踪术语 3
1.1 历史回顾 3
1.2 定义 4
参考文献 7
第2章 什么是光线? 9
2.1 光线的数学表示 9
2.2 光线区间 10
2.3 DXR中的光线 11
2.4 小结 12
参考文献 12
第3章 DirectX光线追踪介绍 13
3.1 介绍 13
3.2 概述 13
3.3 准备就绪 14
3.4 DirectX光线追踪管线 14
3.5 HLSL针对DXR的新增支持 16
3.5.1 在HLSL中生成新的光线 17
3.5.2 在HLSL中控制光线遍历 17
3.5.3 额外的HLSL内部函数 18
3.6 一个简单的HLSL光线追踪案例 19
3.7 主机端初始化DXR 20
3.8 基础的DXR初始化和设置 21
3.8.1 几何体和加速结构 22
3.8.2 根签名 25
3.8.3 编译着色器 26
3.9 光线追踪管线状态对象(RTPSO) 27
3.10 着色器表 30
3.11 发射光线 32
3.12 挖掘更深和更多的资源 33
3.13 小结 33
参考文献 34
第4章 天文馆球幕相机 36
4.1 介绍 36
4.2 方法 36
4.2.1 从视口坐标计算光线方向 38
4.2.2 环形立体投影 40
4.2.3 景深 42
4.2.4 抗锯齿 43
4.3 天文馆球幕投影的示例代码 43
参考文献 43
第5章 计算子数组的小值和值 45
5.1 动机 45
5.2 整表查询法 45
5.3 稀疏表查询法 46
5.4 区间树递归查询法 47
5.5 区间树迭代查询法 48
5.6 结果 50
5.7 小结 51
参考文献 51
第二部分 相交和效率
第6章 避免自相交的快速可靠的方法 55
6.1 引言 55
6.2 方法 55
6.2.1 计算物体表面上的交点 55
6.2.2 避免自相交 57
6.3 小结 60
参考文献 61
第7章 光线/球体相交检测的精度提升 62
7.1 光线/球体相交基础 62
7.2 浮点精度探究 63
7.3 相关资源 66
参考文献 67
第8章 精巧的曲面:计算光线/双线性曲面相交的几何方法 68
8.1 引言与当前技术 68
8.1.1 性能测试 70
8.1.2 网格四边形化 70
8.2 GARP细节 71
8.3 结果讨论 73
8.4 代码 76
参考文献 77
第9章 DXR中的多重命中光线追踪 80
9.1 引言 80
9.2 实现 81
9.2.1 朴素的多重命中遍历 83
9.2.2 节点剔除多重命中BVH遍历 85
9.3 结果 86
9.3.1 性能测量 86
9.3.2 讨论 89
9.4 结论 90
参考文献 91
第10章 一种具有高扩展效率的简单负载均衡方案 92
10.1 引言 92
10.2 要求 92
10.3 负载均衡 93
10.3.1 简单分块 93
10.3.2 任务大小 93
10.3.3 任务分布 94
10.3.4 图像组装 95
10.4 结果 96
参考文献 97
第三部分 反射,折射与阴影
第11章 嵌套volume中材质的自动处理 101
11.1 volume的建模 101
11.1.1 独立边界 101
11.1.2 添加空气间隙 102
11.1.3 重叠的边界 102
11.2 算法 103
11.3 局限性 106
参考文献 107
第12章 基于微表面阴影函数解决凹凸贴图中的阴影边界问题 108
12.1 介绍 108
12.2 之前的工作 109
12.3 方法 109
12.3.1 法线分布函数 110
12.3.2 阴影函数 112
12.4 结果 113
参考文献 114
第13章 光线追踪阴影:保持实时帧速率 115
13.1 介绍 115
13.2 相关工作 116
13.3 光线追踪阴影 117
13.4 自适应采样 119
13.4.1 时间重投影 119
13.4.2 识别半影区域 120
13.4.3 计算采样数目 121
13.4.4 采样Mask 121
13.4.5 计算可见性 122
13.5 实现 123
13.5.1 采样点集生成 124
13.5.2 按距离剔除灯光 124
13.5.3 限制总采样数 124
13.5.4 在前向渲染管线中集成 125
13.6 结果 127
13.6.1 与阴影映射(方法)的对比 127
13.6.2 软阴影与硬阴影对比 128
13.6.3 限制 129
13.7 总结和未来的工作 129
参考文献 130
第14章 DXR下的在单散射介质中引导光线的体积水焦散 132
14.1 介绍 132
14.2 体积光和折射光 134
14.3 算法 136
14.3.1 计算光束压缩比 136
14.3.2 渲染焦散图 137
14.3.3 光线追踪折射焦散图和累积表面焦散 138
14.3.4 自适应地对水表面的三角形进行曲面细分 139
14.3.5 构建三角形光束体积 140
14.3.6 使用加算混合方式渲染体积焦散 140
14.3.7 结合表面焦散和体积焦散 141
14.4 实现细节 141
14.5 结果 141
14.6 将来的工作 143
14.7 演示 143
参考文献 143
第四部分 采样
第15章 重要性采样 147
15.1 引言 147
15.2 例子:环境光遮蔽 148
15.3 理解方差 151
15.4 直接光照 153
15.5 结论 155
参考文献 156
第16章 采样变换集合 157
16.1 采样机制 157
16.2 样本分布介绍 157
16.3 一维分布 159
16.3.1 线性函数 159
16.3.2 三角形函数 159
16.3.3 正态分布 159
16.3.4 一维离散分布采样 160
16.4 二维分布采样 162
16.4.1 双线性 162
16.4.2 二维纹理分布 162
16.5 均匀表面采样 165
16.5.1 圆盘 165
16.5.2 三角形 166
16.5.3 三角形网格 167
16.5.4 球 167
16.6 方向采样 168
16.6.1 Z轴向余弦加权半球 169
16.6.2 向量轴向余弦加权半球 169
16.6.3 锥体方向采样 169
16.6.4 PHONG分布采样 170
16.6.5 GGX分布 170
16.7 体积散射 171
16.7.1 体积中的距离 171
16.7.2 Henyey-Greenstein相函数 172
16.8 添加到集合中 172
参考文献 173
第17章 忽略光线追踪时的不便 174
17.1 引言 174
17.2 动机 174
17.3 截断法 176
17.4 路径正则化 176
17.5 总结 177
参考文献 178
第18章 GPU实现的多光源重要性采样 179
18.1 概述 179
18.2 传统算法回顾 180
18.2.1 实时光源剔除 180
18.2.2 多光源的算法 181
18.2.3 光源重要性采样 181
18.3 基础知识回顾 182
18.3.1 光照积分 182
18.3.2 重要性采样 183
18.3.3 对光源的光线追踪 185
18.4 算法 186
18.4.1 光源的预处理 186
18.4.2 加速结构 187
18.4.3 光源重要性采样 188
18.5 结果 190
18.5.1 性能 192
18.5.2 图像质量 194
18.6 结论 196
参考文献 197
第五部分 降噪与滤波
第19章 利用实时光线追踪和降噪技术在UE4中进行电影渲染 203
19.1 引言 203
19.2 在UE4中集成光线追踪功能 203
19.2.1 阶段1:实验性的整合 204
19.2.2 阶段2 210
19.3 实时光线追踪和降噪处理 211
19.3.1 基于光线追踪的阴影 211
19.3.2 基于光线追踪的反射 214
19.3.3 基于光线追踪的全局漫反射照明 218
19.3.4 光线追踪中的透明度 221
19.4 结论 222
参考文献 223
第20章 实时光线追踪的纹理LOD策略 224
20.1 简介 224
20.2 背景 225
20.3 纹理LOD算法 226
20.3.1 MIP第0层的双线性滤波 226
20.3.2 射线微分 226
20.3.3 射线微分与G-Buffer 229
20.3.4 射线锥 230
20.4 实现 234
20.5 对照及结果 236
20.6 代码 239
参考文献 241
第21章 使用射线锥和射线差分进行环境贴图的过滤 242
21.1 引言 242
21.2 射线锥 243
21.3 射线差分 243
21.4 结果 244
参考文献 244
第22章 通过自适应光线追踪改进时域抗锯齿 245
22.1 简介 245
22.2 时域抗锯齿相关工作 247
22.3 一种新算法 247
22.3.1 分割策略 248
22.3.2 稀疏光线追踪超采样 251
22.4 初步结果 253
22.4.1 画面质量 253
22.4.2 性能 254
22.5 局限性 255
22.6 实时光线追踪抗锯齿技术的未来 256
22.7 结论 256
参考文献 257
第六部分 混合方法及系统
第23章 寒霜引擎中的交互式光照贴图和辐照度体预览 261
23.1 介绍 261
23.2 全局光照解算器管线 262
23.2.1 输入与输出 262
23.2.2 全局光照解算器管线的总览 265
23.2.3 光照计算与光路构建 266
23.2.4 光源 269
23.2.5 特殊材质 270
23.2.6 规划待计算纹素 271
23.2.7 性能开销 272
23.2.8 后处理 272
23.3 加速技术 275
23.3.1 视图优先级 275
23.3.2 灯光加速结构 275
23.3.3 辐照度缓存 2
**部分 光线追踪基础
第1章 光线追踪术语 3
1.1 历史回顾 3
1.2 定义 4
参考文献 7
第2章 什么是光线? 9
2.1 光线的数学表示 9
2.2 光线区间 10
2.3 DXR中的光线 11
2.4 小结 12
参考文献 12
第3章 DirectX光线追踪介绍 13
3.1 介绍 13
3.2 概述 13
3.3 准备就绪 14
3.4 DirectX光线追踪管线 14
3.5 HLSL针对DXR的新增支持 16
3.5.1 在HLSL中生成新的光线 17
3.5.2 在HLSL中控制光线遍历 17
3.5.3 额外的HLSL内部函数 18
3.6 一个简单的HLSL光线追踪案例 19
3.7 主机端初始化DXR 20
3.8 基础的DXR初始化和设置 21
3.8.1 几何体和加速结构 22
3.8.2 根签名 25
3.8.3 编译着色器 26
3.9 光线追踪管线状态对象(RTPSO) 27
3.10 着色器表 30
3.11 发射光线 32
3.12 挖掘更深和更多的资源 33
3.13 小结 33
参考文献 34
第4章 天文馆球幕相机 36
4.1 介绍 36
4.2 方法 36
4.2.1 从视口坐标计算光线方向 38
4.2.2 环形立体投影 40
4.2.3 景深 42
4.2.4 抗锯齿 43
4.3 天文馆球幕投影的示例代码 43
参考文献 43
第5章 计算子数组的小值和值 45
5.1 动机 45
5.2 整表查询法 45
5.3 稀疏表查询法 46
5.4 区间树递归查询法 47
5.5 区间树迭代查询法 48
5.6 结果 50
5.7 小结 51
参考文献 51
第二部分 相交和效率
第6章 避免自相交的快速可靠的方法 55
6.1 引言 55
6.2 方法 55
6.2.1 计算物体表面上的交点 55
6.2.2 避免自相交 57
6.3 小结 60
参考文献 61
第7章 光线/球体相交检测的精度提升 62
7.1 光线/球体相交基础 62
7.2 浮点精度探究 63
7.3 相关资源 66
参考文献 67
第8章 精巧的曲面:计算光线/双线性曲面相交的几何方法 68
8.1 引言与当前技术 68
8.1.1 性能测试 70
8.1.2 网格四边形化 70
8.2 GARP细节 71
8.3 结果讨论 73
8.4 代码 76
参考文献 77
第9章 DXR中的多重命中光线追踪 80
9.1 引言 80
9.2 实现 81
9.2.1 朴素的多重命中遍历 83
9.2.2 节点剔除多重命中BVH遍历 85
9.3 结果 86
9.3.1 性能测量 86
9.3.2 讨论 89
9.4 结论 90
参考文献 91
第10章 一种具有高扩展效率的简单负载均衡方案 92
10.1 引言 92
10.2 要求 92
10.3 负载均衡 93
10.3.1 简单分块 93
10.3.2 任务大小 93
10.3.3 任务分布 94
10.3.4 图像组装 95
10.4 结果 96
参考文献 97
第三部分 反射,折射与阴影
第11章 嵌套volume中材质的自动处理 101
11.1 volume的建模 101
11.1.1 独立边界 101
11.1.2 添加空气间隙 102
11.1.3 重叠的边界 102
11.2 算法 103
11.3 局限性 106
参考文献 107
第12章 基于微表面阴影函数解决凹凸贴图中的阴影边界问题 108
12.1 介绍 108
12.2 之前的工作 109
12.3 方法 109
12.3.1 法线分布函数 110
12.3.2 阴影函数 112
12.4 结果 113
参考文献 114
第13章 光线追踪阴影:保持实时帧速率 115
13.1 介绍 115
13.2 相关工作 116
13.3 光线追踪阴影 117
13.4 自适应采样 119
13.4.1 时间重投影 119
13.4.2 识别半影区域 120
13.4.3 计算采样数目 121
13.4.4 采样Mask 121
13.4.5 计算可见性 122
13.5 实现 123
13.5.1 采样点集生成 124
13.5.2 按距离剔除灯光 124
13.5.3 限制总采样数 124
13.5.4 在前向渲染管线中集成 125
13.6 结果 127
13.6.1 与阴影映射(方法)的对比 127
13.6.2 软阴影与硬阴影对比 128
13.6.3 限制 129
13.7 总结和未来的工作 129
参考文献 130
第14章 DXR下的在单散射介质中引导光线的体积水焦散 132
14.1 介绍 132
14.2 体积光和折射光 134
14.3 算法 136
14.3.1 计算光束压缩比 136
14.3.2 渲染焦散图 137
14.3.3 光线追踪折射焦散图和累积表面焦散 138
14.3.4 自适应地对水表面的三角形进行曲面细分 139
14.3.5 构建三角形光束体积 140
14.3.6 使用加算混合方式渲染体积焦散 140
14.3.7 结合表面焦散和体积焦散 141
14.4 实现细节 141
14.5 结果 141
14.6 将来的工作 143
14.7 演示 143
参考文献 143
第四部分 采样
第15章 重要性采样 147
15.1 引言 147
15.2 例子:环境光遮蔽 148
15.3 理解方差 151
15.4 直接光照 153
15.5 结论 155
参考文献 156
第16章 采样变换集合 157
16.1 采样机制 157
16.2 样本分布介绍 157
16.3 一维分布 159
16.3.1 线性函数 159
16.3.2 三角形函数 159
16.3.3 正态分布 159
16.3.4 一维离散分布采样 160
16.4 二维分布采样 162
16.4.1 双线性 162
16.4.2 二维纹理分布 162
16.5 均匀表面采样 165
16.5.1 圆盘 165
16.5.2 三角形 166
16.5.3 三角形网格 167
16.5.4 球 167
16.6 方向采样 168
16.6.1 Z轴向余弦加权半球 169
16.6.2 向量轴向余弦加权半球 169
16.6.3 锥体方向采样 169
16.6.4 PHONG分布采样 170
16.6.5 GGX分布 170
16.7 体积散射 171
16.7.1 体积中的距离 171
16.7.2 Henyey-Greenstein相函数 172
16.8 添加到集合中 172
参考文献 173
第17章 忽略光线追踪时的不便 174
17.1 引言 174
17.2 动机 174
17.3 截断法 176
17.4 路径正则化 176
17.5 总结 177
参考文献 178
第18章 GPU实现的多光源重要性采样 179
18.1 概述 179
18.2 传统算法回顾 180
18.2.1 实时光源剔除 180
18.2.2 多光源的算法 181
18.2.3 光源重要性采样 181
18.3 基础知识回顾 182
18.3.1 光照积分 182
18.3.2 重要性采样 183
18.3.3 对光源的光线追踪 185
18.4 算法 186
18.4.1 光源的预处理 186
18.4.2 加速结构 187
18.4.3 光源重要性采样 188
18.5 结果 190
18.5.1 性能 192
18.5.2 图像质量 194
18.6 结论 196
参考文献 197
第五部分 降噪与滤波
第19章 利用实时光线追踪和降噪技术在UE4中进行电影渲染 203
19.1 引言 203
19.2 在UE4中集成光线追踪功能 203
19.2.1 阶段1:实验性的整合 204
19.2.2 阶段2 210
19.3 实时光线追踪和降噪处理 211
19.3.1 基于光线追踪的阴影 211
19.3.2 基于光线追踪的反射 214
19.3.3 基于光线追踪的全局漫反射照明 218
19.3.4 光线追踪中的透明度 221
19.4 结论 222
参考文献 223
第20章 实时光线追踪的纹理LOD策略 224
20.1 简介 224
20.2 背景 225
20.3 纹理LOD算法 226
20.3.1 MIP第0层的双线性滤波 226
20.3.2 射线微分 226
20.3.3 射线微分与G-Buffer 229
20.3.4 射线锥 230
20.4 实现 234
20.5 对照及结果 236
20.6 代码 239
参考文献 241
第21章 使用射线锥和射线差分进行环境贴图的过滤 242
21.1 引言 242
21.2 射线锥 243
21.3 射线差分 243
21.4 结果 244
参考文献 244
第22章 通过自适应光线追踪改进时域抗锯齿 245
22.1 简介 245
22.2 时域抗锯齿相关工作 247
22.3 一种新算法 247
22.3.1 分割策略 248
22.3.2 稀疏光线追踪超采样 251
22.4 初步结果 253
22.4.1 画面质量 253
22.4.2 性能 254
22.5 局限性 255
22.6 实时光线追踪抗锯齿技术的未来 256
22.7 结论 256
参考文献 257
第六部分 混合方法及系统
第23章 寒霜引擎中的交互式光照贴图和辐照度体预览 261
23.1 介绍 261
23.2 全局光照解算器管线 262
23.2.1 输入与输出 262
23.2.2 全局光照解算器管线的总览 265
23.2.3 光照计算与光路构建 266
23.2.4 光源 269
23.2.5 特殊材质 270
23.2.6 规划待计算纹素 271
23.2.7 性能开销 272
23.2.8 后处理 272
23.3 加速技术 275
23.3.1 视图优先级 275
23.3.2 灯光加速结构 275
23.3.3 辐照度缓存 2
猜您喜欢