论文部分内容阅读
随着计算机硬件的不断提高以及计算机图形学的飞速发展,计算机图形学在虚拟现实,计算机动画游戏设计和电影制作等领域有越来越广泛的应用。更高的质量,更快的速度一直是计算机图形学研究人员不断追求的。为此,人们不断提出新的几何模型,渲染算法,以求在有限的硬件条件下得到更为真实的结果。阴影作为真实感表现中不可或缺的一部分,对结果的起至关重要的作用,正因如此,如何得到更高质量的阴影表现一直是图形学界所研究的重点。关于阴影的研究,有许多不同的算法,每种算法都有其针对性,总体分为本影和半影,离线渲染和实时渲染等。由于早期硬件条件有限,关于阴影的研究更多集中在本影的实现上。随着计算机硬件不断发展以及对结果质量的要求不断提高,研究工作更集中在半影,以及透明物体阴影的实现。另外,针对离线渲染和实时渲染等不同渲染框架,往往需要不同的阴影生成算法。在现今的硬件条件和网络资源环境下,为阴影算法的研究提供了新的契机。阴影图算法一直是实现阴影的基本算法,人们针对这一算法做了大量的研究改进工作。该算法不需要考虑场景内复杂的几何形状,只需要将场景信息存储在阴影图里,但其缺点在于由于阴影图的构建只针对点光源,所以不能实现半影效果;另外产生的阴影受阴影图精度的影响容易产生锯齿,结果失真严重。针对这些问题,本文提出一种多层阴影图的方法,一方面通过多层阴影图的构建,来还原并简化场景,描述在面光源条件下半影的表现;另一方面实现光线穿过透明物体时由于能量损失所产生的阴影效果。本文在863重点课题“真实感动漫渲染系统研究与应用”的支持下,在Bleman开源渲染器中进行代码的设计与实现,最终结果与商业界Maya渲染器进行对比,得到较为理想的结果。本文主要内容分为两个部分:1.多层阴影图构建:本文涉及的实验平台所使用的渲染引擎是一种符合RenderMan标准的离线渲染引擎,关注渲染高质量的结果,本文通过修改渲染流程中阴影的可见度值来实现阴影效果,并且阴影效果的计算对其他流程没有任何影响。该部分主要分为两步:第一步实现不透明物体的软影效果,在此部分中通过光线跟踪技术实现对场景的重构工作;第二步实现透明物体的软影效果,在此部分中通过光照模型模拟光线穿过透明物体时所产生的能量损失来模拟其软影效果。2.多层阴影图优化:该部分主要分为两步:为了尽可能减少阴影图的计算时间和遍历时间,采用控制点压缩技术和四叉树算法对阴影图进行进一步优化;为了尽可能减少阴影图精度对结果造成的影响,提出自适应算法使得阴影图能够在不同深度下根据需要自适应的调整精度,从而减少锯齿效果。本文在原多层深度图算法的基础上进行优化和探索,并将结果与Maya软件得到的结果进行对比,在保证质量的前提下尽可能的减少了计算时间。