论文部分内容阅读
在计算机图形研究中,阴影可增强物体的立体感,从而有助于理解物体间的相互位置关系和大小。传统生成阴影的方法主要包括阴影贴图算法和阴影体算法,但上述方法难以提供高质量的软阴影。有向距离场可用来表示空间内任一点到给定三维物体表面的最小距离,确定与物体的相对位置关系,近年来,已成功应用于碰撞检测、布料模拟等领域。本文在暴力生成有向距离场方法的基础上,研究了可生成更高精度有向距离场信息的HP-自适应方法与基于快速行进的有向距离场生成方法,并将三者进行并行化加速,最后使用上述方法预计算生成有向距离场,通过预计算的有向距离场信息生成软阴影。论文主要完成了以下3个方面的工作:(1)测试并比较了三种有向距离场生成算法。研究了暴力法、HP-自适应法和快速行进法等三种有向距离场生成算法,并将暴力法与快速行进法使用GPU并行化加速,将HP-自适应法使用多线程进行并行化。然后,研究了基于最先分配的有向距离场贴图管理算法用于贴图管理。实验结果表明,通过并行化加速显著提高了暴力法、HP-自适应法与快速行进法的效率,HP-自适应法更适合生成高质量的局部有向距离场,快速行进法则更适合生成低质量的全局有向距离场。(2)研究了有向距离场的采样和可视化方法。首先使用球体步进算法对有向距离场进行采样,并通过球体步进实现了有向距离场在三维空间内的可视化。实验结果表明,基于球体步进的有向距离场可视化方法相比于有向距离场切片更加直观,易于验证有向距离场生成算法的正确性。(3)提出了基于球体步进和两种优化方法相结合的高质量软阴影生成算法。在获得场景中物体的局部距离场后,基于球体步进算法实现对物体有向距离场的采样,并根据采样值生成软阴影。为提高阴影生成效率与生成质量,首先根据两次采样值计算阴影强度,以减少阴影的条带现象,然后基于双边滤波的优化算法获取了更加柔和的软阴影,最后基于快速行进算法生成全局距离场以减少对显存的访问次数,从而进一步提升阴影生成效率。实验结果表明,根据两次采样值计算阴影强度可有效降低阴影的条带现象,基于双边滤波和基于快速行进的优化算法分别将阴影生成效率提高了43%和29%。最后,本文将基于有向距离场的软阴影生成算法与基于阴影贴图的软阴影生成算法作对比。结果表明,基于有向距离场的软阴影生成算法在保证运行效率的情况下可获得质量更高的软阴影,具有较广的适用范围,能满足实时渲染中对于软阴影的需求。