论文部分内容阅读
近年来,自由曲面的绘制,特别是细分曲面的快速绘制算法,成为了计算机图形学领域的一个研究热点。可编程图形处理器GPU(Graphics Processing Unit)的发展日益成熟,它专门为图形计算设计,在并行计算方面,比起CPU有明显的优势,并且提供了相当程度的可编程性。本文充分利用GPU的优势,提出了一种新的基于GPU的自由曲面快速绘制算法。 算法流程如下:首先对初始控制网格进行预处理,将其划分为多个控制网格片,然后对每个控制网格片进行单独绘制。根据控制网格片的绘制方案,计算其相应的细分模板,接着把控制网格片中的顶点数据和其细分模板一起传递到GPU,在GPU的顶点处理器中计算并绘制出整张曲面。 本文首先概述了目前自由曲面的各种绘制算法,包括参数曲面的绘制算法和细分曲面的绘制算法,并对可编程图形处理器的发展背景和发展历程作了简要介绍。接着介绍了本文算法已实现的四类曲面的基本理论知识,包括双三次BEZIER曲面、双三次B样条曲面、Catmull-Clark细分曲面和Loop细分曲面。最后详细介绍本文提出的基于GPU的自由曲面快速绘制算法,先介绍了算法的总体流程,接着逐项讨论算法的各个细节,包括控制网格片的划分,细分模板的计算和在GPU中作绘制操作等,最后,对实验结果作分析。 基于本文的算法,我们已经开发了一个原形系统。该原形系统可支持双三次BEZIER曲面、双三次B样条曲面、Catmull-Clark细分曲面和Loop细分曲面的快速绘制。大量的实验结果表明,本文算法具有下列优点:1,绘制速度快,在性能较好的图形处理器(如GeForce6系列以上)情况下,本文算法的绘制速度可大大优于基于CPU的曲面绘制算法,而且与基于GPU片断处理器的曲面绘制算法比较也有明显的优势;2,可以很好地平衡CPU和GPU的负荷:3,具有良好的通用性,可以支持所有参数曲面和可用参数求值的细分曲面。