体渲染论文阅读训练 之一

全部论文训练计划章节 见 论文训练计划

首先从这篇《Interactive direct volume rendering with physically-based lighting》论文入手,时间是2011年,不算早也不算晚,初涉一个领域,还是不要直接看最新的文章,况且很多最新的文章实现的技术也都是老技术的修补罢了。且该论文是在顶级会议发表的,具有一定含金量与严谨程度,所以选这篇也不易被水文误入歧途。

摘要:

最近科研者的工作集中在通过集成一些视觉上看似合理但通常特定效果的优化来提高交互式光线投射中的照明逼真度。但是这些方法一般都局限于有限数量的光源或者一个固定的光源。

另一方面,随机蒙特卡罗射线追踪与物理光传输相结合,能够合成高逼真度的图像。它已成功地应用于边界曲面和参与介质,用于BRDF阴影或相位函数。但不适用与交互式体渲染。

我们的方法可以配置任意数量的任意形状和纹理的区域光,模拟真实世界的相机,包括其镜头和光圈,并结合复杂的材料,同时仍然保持交互式显示更新。此外,我们的方法能够在BRFDF和相位函数阴影之间动态切换,以处理非均匀体数据(疑问1),并且还可以减轻通常与渐进式渲染(疑问2)渐进式渲染是用于尽快显示渲染内容的技术)相关联的不需要的启动噪声。最后,我们在一个许可的自由软件许可下,以源代码和二进制形式提供了我们的完整实现。

第一部分:引子

体可视化中的真实光照在三维形状感知中起着核心作用。因此,近年来,人们对使用更逼真的照明增强交互式直接体绘制(DVR)方法进行了大量研究,例如环境光遮挡[ZIKS98]、阴影[BR98,HKSB06]和散射[RS07]。然而,由于基于物理的光照建模成本高昂,目前的研究主要集中在光照的快速近似上,这种方法可以与基于GPU的体渲染器(包括基于纹理和光线投射的体渲染器)集成。注意这三种技术我们还会在后面的论文里重点研究。

虽然最近的文献已经证明基于gpu的物理绘制是可行的[vA11],但据我们所知,基于物理的Monte Carlo(MC)光传输尚未应用于交互式直接体绘制(DVR)。通过这项工作,我们希望探索1)当前的gpu是否足够有效,以支持交互式DVR中MC光传输的实时模拟;2)这样做的挑战是什么。为了回答这些问题,我们构建了一个基于CUDA的光线投射器,并通过几个光线跟踪扩展对其进行了增强,大大提高了生成图像的真实感。我们建立了一个包含镜头和光圈的真实相机模型集成了基于物理的光散射,并解决了MC积分带来的启动噪声(疑问3)问题。

由此产生的交互式DVR框架能够以交互速度生成高质量的图像。所有场景参数,如传输功能、摄像机和照明,都可以交互修改。实验表明,基于随机MC的光传输模拟是解决交互式DVR中真实感绘制问题的一种有效方法。基于随机MC的光传输模拟特别有趣,因为它允许将各种基于物理的效果集成到一个统一的方法中而无需付出很大的努力(MC方法的最重要之处),而其他解决方案限制了光的数量、光的形状、相机模型等。此外,由于其采样性质,混叠和步进伪影的问题很容易处理。该方案能够实时处理复杂的光照,图像质量的提高有助于传达形状和细节。

我们的实现还不包括间接照明,例如相互反射。但是,对于体积数据集,尤其是医疗体积数据集,这并没有显著地超过我们已经拥有的体阴影和完全照明支持。也就是说,在基于物理的间接照明开始进入交互式体绘制之前,这是一个时间问题。

通过这项工作,我们的贡献如下:

•我们提出了一种新的基于GPU的交互式直接体积渲染器,它集成了随机光线跟踪照明,从而实现了基于物理的体积阴影、任意数量的任意位置、形状和纹理区域光,最后实现了真实相机的建模,包括其镜头和光圈。

•我们提出了一种实用的方法,以合理的方式混合表面和体散射,利用这两种方法的最佳特性。

•我们表明,通过在消费级GPU上使用CUDA和基于方差的降噪,体积数据实际上可以在桌面计算机上以交互速率使用照片级真实度的光线跟踪照明进行渲染。

•我们在许可的开源许可证下提供渲染器的完整开源实现,以便其他人可以复制我们的结果并扩展我们的工作。

现在一共三个查资料也解决不了的疑问,但是从这些疑问的前后关系来看,这些疑问都是后面会介绍到的。比如“非均匀体数据”,该句说“以处理这种数据”。所以我们可以从文中再次找到关于这些知识点的相关内容。

论文的其余部分结构如下。在第2节中,我们将介绍体积阴影、环境光遮挡和基于物理的光传输的相关工作。在第3节中,我们记录了我们的技术,在第4节中,我们分析了性能并给出了一些渲染示例。最后,在第五节中,我们总结了我们的发现并指出了未来研究的方向。

现在,我们有两个选择,还记得我们之前在引子第一段读到的前人的技术吗?分别是环境光遮挡[ZIKS98]、阴影[BR98,HKSB06]和散射[RS07]。我们可以选择跳转到这三个论文去阅读,要注意拿个笔记本记录一下每个论文已经阅读过了哪些内容,还有哪些还没有看。另一个选择是接着往下读,要注意,这里的第二个版块是相关工作,也就是本论文涉及的相关领域的前人的工作。

在没有一些理论基础背景下,我们直接读这篇文章的技术,一般是读不懂的,所以我们需要及时跳转到其他论文,但是不必现在就跳转,因为相关工作模块中介绍的内容肯定不会牵扯技术细节,所以可以了解一下有哪些技术。

第二部分:相关工作

本文所描述的工作通过光线跟踪照明和随机采样增强了交互式直接体绘制,生成了一个支持真实阴影、任意数量的任意位置、形状和纹理灯光以及高质量渐进更新的高动态范围图像的体绘制器。

在本节中,我们将简要介绍相关工作,主要包括模拟阴影体绘制扩展、体绘制中的环境光遮挡以及最后是基于物理的方法。全局照明,特别是阴影,是在三维可视化中,特别是在体绘制中,传递深度和形状的令人信服的方法。在体绘制中引入阴影后,对更直接的光传输近似进行了一些最初的改进,如Max[Max95]提出的改进。Behrens和Ratering通过预先计算阴影体积,在给定的相对光源位置,在体绘制中引入阴影,然后可以使用标准的基于纹理的体绘制算法进行渲染[BR98]。Kniss等人提出了一种结合半角度切片、基于纹理的体绘制技术计算体阴影的体光模型、基于查找表的相位函数实现和基于前几层光聚合的多重前向散射近似[KKH02,KPH*03]。注意这些方法一看就没有什么灵活性,我们学习一下可以,但是真正自己实现的时候就别再用这些方法了。

Hadwiger等人[HKSB06]将计算半透明体阴影的技术deep shadow maps[LV00]应用于GPU上的光线投射。Ropinski等人[RKH08]提出了一种用于GPU光线投射的深阴影贴图的替代实现,该实现在光源配置保持不变时支持缓存,并将其与普通阴影贴图(非透明阴影)和阴影光线进行了比较。在所有情况下,体绘制的真实感大大提高了与阴影的集成。然而,所提到的例子都局限于对单点光源进行建模。因为我们的工作还集成了随机采样的阴影光线,所以它支持对任意数量的任意形状甚至纹理的光源进行建模。

朱可夫等人[ZIKS98]引入的环境遮挡(Ambient occlusion)是一种有效且通常廉价的近似全局光照的技术。环境光遮挡通过确定环境光的半球形遮挡来计算着色点上的光强度。在他们的调查中,Méndez Feliu和Sbert指出了遮蔽和环境遮挡之间的区别:后者代表一个点的开放程度,前者也考虑了漫反射间接照明,产生更为物理正确的照明,例如颜色溢出效应[MFS09]。然而,这两个术语经常互换使用。Stewart[Ste03]引入的邻域着色方法是第一个将环境光遮挡与体绘制结合起来的方法,称为邻域着色。他们的方法使用相邻的体素和它们的模糊度来计算局部照明,这会导致暗裂缝和凹陷。他们的方法需要对每个场景修改进行预处理,并且需要额外的缓冲区来存储照明的结果。Penner和Mitchell[PM08]使用直方图对体素周围的观测进行分类。Ropinski等人的方法。[RMSD*08]使用局部直方图聚类对遮挡信息进行预计算。必须注意的是,环境光遮挡甚至遮挡都不考虑特定的灯光位置,而是基于采样点的几何遮挡,因此近似于可以到达该点的灯光。Ritschel等人[Rit07]将一种表示为球面谐波的环境遮挡形式(他们称之为可见度函数)与DVR方法结合起来,将每个点的辐射与其密度以及来自单一光源的入射光与依赖于方向的可见度函数之间的相互作用联系起来。Lindemann等人[LR10]扩展了Ritschel等人的工作。直接和间接入射光的球面谐波表示,它综合了色度衰减和次表面散射的局部近似。他们声称支持区域光源,但从文件中不清楚这些是如何定义的。在Kronander等人的工作中,光照和可见度被编码为球面谐波。它们的方法支持方向光、点光和环境光。

Schott等人[SPH*09]在ambient occlusion算法的启发下,引入了一种直接体绘制技术,称为方向遮挡。他们的方法仅限于光源必须与相机一致。这一限制后来被部分消除,允许用户在半球内放置一个朝向摄像机的光,Solteszova等人引入了多向遮挡模型。[什PBV10]。Ropinski等人利用模拟散射和阴影增强了他们的GPU光线投射框架[RDRS10]。光照体积由基于切片的前向后色度累积产生,并在第二遍后向前散射累积中产生,并且在传递函数或光位置更新时可以动态生成。所有这些方法都产生了令人印象深刻的结果,不需要大量的预计算,并且以交互帧速率运行。然而,所有这些都仅限于模拟单点光源。先前讨论过的论文得出的结果证明有助于感知形状和深度。这些方法可以很好地近似真实光与体积或等离曲面的相互作用。另一类体积渲染器采用更基于物理的方法。它们通常在预处理步骤中求解卷的光传输方程,并将结果存储在附加的缓冲区中。

Wyman等人[WPSH06]介绍了这样一种方法,其中直接照明、阴影和漫反射在照明缓冲区中被捕获。然后使用该缓冲区对等值曲面进行纹理处理。Beason等人进一步发展了这种方法。[BGB*06],引入半透明和焦散,以静态照明为代价。这两种方法都专注于绘制等值面,无法进行全体积绘制。

Salama等人[RS07]提出了一个用于体数据集Monte Carlo绘制的GPU框架。他们的工作与我们最接近,因为他们采用了随机渲染技术。但是,它们使用体积中的等值面作为以后计算散射的基础来渲染许多层。第一个过程计算选定isosurface上的局部照明,第二个过程是环境光遮挡过程,最后一个层(通常用一个过程渲染)建模散射。这是通过在等温线开始一个透射光线,散射在一个Phong波瓣内,并从它击中的第二个等温线反射光线,直到它离开体积来实现的。这三层被合成成最终的图像。

我们的技术与此方法的进一步不同之处在于,它直接以统一的方式呈现体积,并且故意不以不同的方式处理等值曲面。在每一个光线样本处,又有两条光线穿过累积辐射的体积。以前的照片真实感绘制方法常常受到CPU、GPU和其他专用硬件的计算限制。由于这个原因,大多数的工作提出了引人注目的,但近似模拟的光传输。

我们预计,由于图形硬件计算资源的显著增加,这些近似最终将被基于物理的光传输建模所取代。本文的工作受到了前人的优秀发现的启发,并试图将这些思想应用到随机渲染框架中。

据我们所知,本文所做的工作是第一次证明了结合任意照明条件的体积数据集的交互式、强力、渐进随机渲染是可能的。我们的方法在实时渲染中估计光传输方程,不依赖于预先计算的量或附加体积。我们解决方案的内存占用几乎不依赖于照明和相机配置。此外,我们的系统也不局限于一个固定的传递函数

阅读完相关工作以后,大致对这些内容有了一定的了解。虽然不知道别人做的工作具体内容是什么,但是大致就是别人的工作都有局限性,而这篇文章实现的方案比较好,局限性比较少。

下一步,我们跳转到引子第一段介绍的三篇论文中,去了解这三篇文章讲述了什么内容和技术要点。

发布了182 篇原创文章 · 获赞 408 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/tiao_god/article/details/105469357