论文部分内容阅读
细分曲面长期以来一直都是计算机图形学的经典研究方向,伴随着几十年的发展,且其研究成果已经被广泛地应用于制造业、游戏、娱乐以及电影工业等领域。细分曲面的结果通常都是很稠密的网格,绘制如此大量的数据需要同时解决存储大小和执行效率两个重要问题。随着GPU的计算能力的不断增强以及GPU并行计算技术的日益成熟,如何利用现代GPU有效得生成和处理细分曲面也成了近几年非常热门的研究方向之一。为了增强细分过程的并行性,人们将输入网格划分为多个控制网格片(patch),然后通过并行地依据曲面细分的规则“切分”这些patch来加速整个过程。还有一些研究者为了节省绘制时CPU和GPU数据传输的带宽消耗,提出了可以利用有紧凑的参数表示的参数曲面来近似细分曲面。
本文通过改进Catmull-Clark细分算法的执行流程,结合现有研究成果设计出了一个适合现代GPU并行计算架构的曲面细分算法。该算法支持任意拓扑的输入网格(包括非流形网格),支持置换贴图技术,可以快速地生成高质量无缝隙的细分曲面网格。由于最大程度上避免了传统GPU细分算法需要的预细分操作,本文提出的算法可以减少4-16倍的运算量。另外,该算法提出了一个以patch为基本单位的调度算法,进一步增强了细分模块的灵活性与适应性。 本文的工作已经集成到RenderAnts Pro渲染引擎中,并作为网格细分处理的主要模块用于商业使用,进一步验证了本文算法的可行性和实用性。