赵建龙, 李 涛, 董中华, 冯臻夫
(西安邮电大学 电子工程学院,陕西 西安 710121)
在图形渲染管线中,光栅化是将顶点信息通过插值扫描转换为像素片段的核心硬件,是图形处理器的重要组成部分[1]。光栅化过程直接影响着整个图形处理器绘制效率和渲染质量。在光栅化过程中,内部可视部分的填充是影响光栅化速度和效率的主要因素。为了提高填充效率和质量,当前的研究方向主要有两方面:第一是优化算法,减少像素遍历数,降低计算量从而加快运算速度;第二是建立多条扫描线程,利用多线程并行处理填充过程[2]。针对以上两个方向,本文在传统边函数单线程扫描算法的基础上提出了双向四行并行的扫描方式,优化扫算法,增加线程数目,提高填充效,提高光栅化速率。
光栅化算法主要分为插值算法和扫描算法。
插值算法包括平面插值算法、透视校正插值算法和重心插值算法[3]。本设计采用重心坐标系的透视校正插值算法,相比平面插值算法,重心插值计算复杂度低,利于硬件实现,同时满足属性校正需求[4]。
基于边函数的扫描算法是通过边界函数来判断该像素点是否在三角形内。除此之外,还需要确定遍历三角形的扫描方式,其中最简单的扫描方式就是全屏扫描,从左往右,从下往上对整个屏幕区域进行扫描,这种方式硬件容易实现,但是扫描区域较大,像素扫描效率较低;常用矩形框扫描方式是通过三角形在x轴、y轴上的最大值和最小值,建立起三角形的包围框,该扫描方式相对于全屏幕扫描减小了扫描区域,提高了扫描效率;……