实时阴影技术

作者:Elmar Eisemann

出版社: 清华大学出版社

出版时间: 2013-12

定价: 79.00元

页数:

ISBN: 9787302344384

内容简介

    本书详细阐述了与实时阴影技术相关的高效解决方案及相应的数据结构和算法,主要包括基本阴影技法、阴影图的走样、阴影图的采样、硬阴影的滤波、基于图像的软阴影算法、基于几何体的软阴影算法、基于图像的透明、体积阴影、高级阴影技巧等内容。此外,本书还提供了相应的算法、代码以及伪代码,以帮助读者进一步理解相关方案的实现过程。

    本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。

目录

        第1章  简介	1
        1.1  定义	2
        1.1.1  术语	4
        1.1.2  渲染方程	6
        1.1.3  阴影计算的简化形式	9
        1.2  阴影的重要性	11
        1.3  阴影计算的难点	14
        1.4  概述	17
        1.5  读者须知	18
        第2章  基本阴影技法	19
        2.1  投影阴影	20
        2.1.1  平面投影阴影	20
        2.1.2  阴影纹理	24
        2.1.3  讨论	29
        2.2  阴影映射	29
        2.2.1  基本算法	30
        2.2.2  泛光灯的阴影图	31
        2.2.3  深度偏移(Depth Bias)	32
        2.2.4  避免过于依靠偏移值	34
        2.2.5  走样问题(Aliasing)	37
        2.2.6  实现标准的阴影映射方法	38
        2.2.7  大规模场景的阴影映射	39
        2.3  阴影体	41
        2.3.1  最朴素的阴影体算法	42
        2.3.2  阴影体块的构建	43
        2.4  模板阴影体(Stencil Shadow Volume)	45
        2.4.1  假设	45
        2.4.2  概述	46
        2.4.3  模板计数的实现——Z-Pass	47
        2.4.4  Z-Fail	49
        2.4.5  Z-Pass和Z-Fail的替代方法	51
        2.4.6  基于轮廓线的通用模型阴影体算法	54
        2.4.7  高级的改进方案	60
        2.5  透明度	68
        2.6  总结	69
        第3章  阴影图的走样	70
        3.1  阴影映射与信号重建	70
        3.2  初始采样误差——欠采样	75
        3.2.1  采样误差的定义	75
        3.2.2  几何解释	77
        3.2.3  走样的组成	79
        3.2.4  存储因子	80
        3.3  重采样误差	80
        第4章  阴影图的采样	82
        4.1  匹配(Fitting)	82
        4.2  包装(Warping)	86
        4.2.1  包装算法实战	86
        4.2.2  计算包装的优化参数	90
        4.2.3  顶部灯光透视包装的存储因子	96
        4.2.4  顶部平行光的优化参数化	98
        4.2.5  平面最优的透视包装	100
        4.3  全局分割(Global Partitioning)	101
        4.3.1  Z分割(Z-Partitioning)	101
        4.3.2  视锥体平面的分割	105
        4.3.3  包装算法与全局分割的结合	105
        4.3.4  分割——误差分析	110
        4.4  自适应的分割	112
        4.4.1  迭代层次的精练(Refinement)	112
        4.4.2  直接层次计算	114
        4.4.3  比较	118
        4.5  视口采样映射(View-Sample Mapping)	119
        4.5.1  硬件实现	120
        4.5.2  透明	122
        4.5.3  超级采样(Supersampling)	122
        4.6  阴影图的重建	123
        4.6.1  前向阴影映射(Forward Shadow Mapping)	123
        4.6.2  轮廓阴影映射(Silhouette Shadow Maps)	123
        4.6.3  阴影图存储的替代方案	124
        4.7  临时重投影	125
        4.8  实例	125
        第5章  硬阴影的滤波	127
        5.1  滤波和阴影图	127
        5.1.1  滤波的标记	128
        5.1.2  不正确的方法:模糊阴影图	128
        5.1.3  定义参考值:Percentage-Closer Filtering	128
        5.1.4  PCF的实现	129
        5.2  滤波的应用程序	132
        5.2.1  平滑/模糊的阴影	132
        5.2.2  降低重采样误差:重建/频带限制滤波	132
        5.2.3  滤波与软阴影	133
        5.3  较大滤波核的预计算	134
        5.3.1  预计算滤波的思想——线性信号处理与统计	134
        5.3.2  方差阴影图(Variance Shadow Maps)	137
        5.3.3  分层方差阴影图(Layered Variance Shadow Maps)	139
        5.3.4  卷积阴影图(Convolution Shadow Maps)	140
        5.3.5  指数阴影图(Exponential Shadow Maps)	143
        5.3.6  比较	145
        5.4  总结	147
        第6章  基于图像的软阴影算法	148
        6.1  概述	148
        6.1.1  名词与属性	149
        6.1.2  方法的分类	151
        6.1.3  本章导读	152
        6.2  基础	152
        6.2.1  半影宽度的估计值	152
        6.2.2  遮挡体逆投影	153
        6.2.3  遮挡体的融合	155
        6.2.4  光照可见性的点采样	156
        6.3  参考解决方案	157
        6.4  带有半影的增强硬阴影	160
        6.4.1  光照空间的搜索	160
        6.4.2  屏幕空间的搜索	162
        6.5  模糊硬阴影测试的结果	163
        6.5.1  投影的软阴影纹理	163
        6.5.2  Fractional-Disk软阴影	164
        6.5.3  Percentage-Closer软阴影	165
        6.5.4  加速适配的滤波过程	168
        6.5.5  加速遮挡体搜索	169
        6.5.6  屏幕空间的方法	171
        6.6  平面遮挡体图像的滤波	172
        6.6.1  基于卷积的软阴影纹理	172
        6.6.2  遮挡体纹理	173
        6.7  遮挡体重建和反投影	175
        6.7.1  基本实现	176
        6.7.2  通过遮挡体位掩码实现可见性判断	178
        6.7.3  遮挡体的近似	180
        6.7.4  使用多尺度(Multiscale)的方式加速处理	183
        6.7.5  适配精确度的加速方法	186
        6.8  使用多幅深度图	188
        6.9  总结	190
        第7章  基于几何体的软阴影算法	192
        7.1  生成外层半影来模拟阴影	193
        7.1.1  单采样的软阴影(Single-Sample Soft Shadows)	193
        7.1.2  软平面阴影(Soft Planar Shadows Using Plateaus)	194
        7.1.3  半影图(Penumbra Maps)	194
        7.1.4  Smoothies	196
        7.2  内层和外层半影	197
        7.2.1  裙边缓存	197
        7.2.2  多层阴影翼	198
        7.2.3  软阴影遮挡相机	198
        7.3  软阴影体(Soft Shadow Volumes)	199
        7.3.1  概述	199
        7.3.2  半影楔	200
        7.3.3  基本方法	201
        7.3.4  改进方案	204
        7.4  视口采样映射(View-Sample Mapping)	206
        7.4.1  光照空间的光栅化	206
        7.4.2  思想	207
        7.4.3  基于三角形的方法	208
        7.4.4  基于轮廓线的方法	215
        7.5  权衡	216
        7.6  软阴影算法的总结	217
        第8章  基于图像的透明	219
        8.1  深阴影贴图	219
        8.1.1  光线在半透物体中的衰减	220
        8.1.2  从眼睛到透明面的累积检测	221
        8.2  透射率函数的近似	222
        8.2.1  基于重建的方法	222
        8.2.2  基于图层的方法	225
        8.2.3  基于函数的方法	232
        8.3  总结	234
        第9章  体积阴影	235
        9.1  在均匀介质中的实时单散射	235
        9.2  光线跟踪阴影图	236
        9.2.1  空气光的近似实现	237
        9.2.2  空气光的作用	238
        9.2.3  Ray-Marching实现方法	238
        9.3  基于卷积阴影的方法	240
        9.4  总结	242
        第10章  高级阴影技巧	243
        10.1  多重着色(Multicolored)的光源	243
        10.1.1  使用连续可见性计算的纹理光源	244
        10.1.2  使用遮挡位掩码(Occlusion Bitmask)的纹理光源	245
        10.1.3  有效位的计数	246
        10.2  多重采样反走样	247
        10.3  体素(Voxel)与阴影	248
        10.3.1  即时的体素化	249
        10.3.2  基于体素的场景表达	252
        10.3.3  总结	256
        10.4  光线跟踪(Ray Tracing)阴影	256
        10.5  环境光照	257
        10.5.1  环境图阴影	258
        10.5.2  环境光遮蔽(Ambient Occlusion)	259
        10.5.3  总结	265
        10.6  预计算的辐射度传递(Precomputed Radiance Transfer)	265
        10.6.1  预计算阴影域	267
        10.6.2  球体遮挡体近似	267
        第11章  总结	269
        11.1  硬阴影	269
        11.1.1  精确的阴影	269
        11.1.2  近似精确的阴影	270
        11.1.3  近似的阴影	270
        11.2  滤波的硬阴影	270
        11.3  软阴影	271
        11.3.1  精确的阴影	271
        11.3.2  近似的阴影	272
        11.4  高级算法	272
        11.5  明天会更好	273
        参考文献	274
        附录A  图形流水线概览	303
        A.1  渲染	303
        A.2  逐片元的处理——裁剪与混合	306
        A.3  帧缓存(Framebuffer)	307
        A.4  几何体的表达	308
        A.5  硬件	308
        附录B  图形API概述	310
        B.1  变换矩阵	311
        B.1.1  左手/右手坐标系	312
        B.1.2  观察矩阵	313
        B.1.3  投影矩阵	313
        B.2  状态	315
        B.2.1  深度相关的状态	316
        B.2.2  模板测试	317
        B.2.3  融合	317
        B.3  帧缓存与渲染目标	318
        B.4  纹理采样	319
        B.5  着色语言	320
        附录C  着色方法简述	321
        C.1  着色的分析模型	321
        C.1.1  标记法	321
        C.1.2  漫反射(Diffuse)表面	322
        C.1.3  镜面反射(Specular)表面	322
        C.2  入射辐射度的近似计算	324
        
        附录D  快速GPU滤波技术	326
        D.1  mipmap	326
        D.1.1  构建	327
        D.1.2  滤波	327
        D.2  N-buffer与多尺度图(Multiscale Map)	329
        D.2.1  构建	329
        D.2.2  多尺度图	330
        D.2.3  滤波	331
        D.3  Summed-area table	332
        D.3.1  构建	332
        D.3.2  滤波	336
        D.4  总结	336
        附录E  延迟着色(Deferred Shading)与升采样(Upsampling)	337
        E.1  延迟着色	337
        E.1.1  定义	337
        E.1.2  实际情况的考量	338
        E.1.3  案例	339
        E.2  升采样	339
        E.2.1  空间的方法和几何相关的模糊	339
        E.2.2  高级滤波方法	341
        E.3  总结	344
        附录F  符号	345
     · · · · · ·     (收起)

Copyright © 游戏人+ All Rights Reserved.