论文部分内容阅读
该文主要论述了目前二维纹理映射的主要算法,重点对Catmull算法进行了深入讨论,分析了Catmull算法在进行反走样处理时存在的局限性和不足,并对算法进行了一系列的改进,把A缓存器的思想引进到Catmull算法中,最后通过实例验证了算法改进后的正确性和可行性.Catmull算法是最早用来生成参数曲面表面纹理的纹理映射算法,由于一般参数曲面的逆映射难以确定,因而,将纹理映射表达成解析形式是非常困难的.Catmull采用递归分割参数曲面片的方法来显示参数曲面,并对纹理空间进行相应的分割,经过对曲面和纹理平面的同时递归分割后,各象素处可见的子曲面片均对应于纹理空间中的一小块区域,容易计算出该区域的平均纹理颜色.Catmull方法是一种正向纹理映射技术,它简单易行,适合于任意复杂的曲面,是真实感图形绘制的一项重要技术.但Catmull算法存在下述问题,在进行景物表面的光亮度计算时,只能正确地计算出一个象素被两个以下子曲面片所覆盖时的光亮度,而对一个象素被多于两个子曲面片所覆盖的情况,则不能正确计算该象素的光亮度,从而影响了生成图形的质量,降低了生成图像的真实效果.针对这一问题,该文提出了一种改进算法,提高了原算法的精度,使计算结果能更好的模拟物体表面的纹理,提高了生成图形的逼真度.反走样是纹理映射技术中的一个重要研究内容.解决走样问题理想的方法是把点采样改成面积采样,即求出象素内不同可见景物表面所占的面积,然后按其面积对这些表面的光亮度进行加权平均.由Catmull的纹理映射过程可知,该算法采用区域平均纹理颜色代替对纹理平面的点采样,实现了纹理图像的反走样处理.但在Catmull算法中,对各子曲面片在每一象素中覆盖面积的计算如果采用通常的面积计算方法,则计算复杂,且时间耗费较大;另外在计算各子曲面片对象素的光亮度贡献时,Catmull算法由远及近地处理各子曲面片,会导致不必要的计算,造成时间的浪费.对此该文提出了一种新的解决办法,该方法利用A缓存器技术来进行面积的计算,并由近及远地处理各子曲面片,有效地克服了边界象素中的图形走样现象,大大减少了原算法的计算耗费.