特征自适应的Loop细分曲面GPU绘制
Feature-Adaptive Rendering of Loop Subdivision Surfaces on Modern GPUs
-
摘要: 本文提出了一个利用图形硬件实时绘制Loop细分曲面的新算法,可以精确计算Loop细分极限曲面的采样点位置和法向.算法的核心思想是使用GPU计算线程递归地细分不规则曲面片;并利用硬件细分单元直接计算绘制各层次的规则曲面片.本文的算法以任意拓扑结构的三角控制网格作为输入,并且能处理常见的细分曲面特征,如半尖锐折痕和分层次编辑;所绘制的Loop细分曲面能达到机器精度.由于位移映射要求曲面片之间的法向严格相等,本文提出了一个使相邻曲面片边界上的采样点的位置和法向能够按位相等的算法,因此,所生成的细分曲面可以适用于位移映射.在本文的框架下,我们还提出了一个基于视点的细节层次高效绘制Loop细分曲面的算法,实时根据视点的远近自适应地调整细分深度和细分密度.实验结果表明,本文提出的算法能实时绘制高质量细分曲面,适用于三维游戏、角色创作等各种实时绘制应用.Abstract: We present a novel approach for real-time rendering Loop subdivision surfaces on modern graphics hardware. Our algorithm evaluates both positions and normals accurately, thus providing the true Loop subdivision surface. The core idea is to recursively refine irregular patches using a GPU compute kernel. All generated regular patches are then directly evaluated and rendered using the hardware tessellation unit. Our approach handles triangular control meshes of arbitrary topologies and incorporates common subdivision surface features such as semi-sharp creases and hierarchical edits. While surface rendering is accurate up to machine precision, we also enforce a consistent bitwise evaluation of positions and normals at patch boundaries. This is particularly useful in the context of displacement mapping which strictly requires matching surface normals. Furthermore, we incorporate efficient level-of-detail rendering where subdivision depth and tessellation density can be adjusted on-the-fly. Overall, our algorithm provides high-quality results at real-time frame rates, thus being ideally suited to interactive rendering applications such as video games or authoring tools.