发明名称 基于水平线扫描的三角形光栅化的实现
摘要 本发明公开了一种基于水平线扫描的三角形光栅化的实现方式。它包括三角形三个顶点的顺序调整、三边与最低水平线的交点计算、三角形属性增量计算、水平线与三条边(或延长线)的交点计算、水平线扫描边界的确定、水平线裁剪、扫描线起始点属性计算、水平线填充等实现过程。输入为三角形三个顶点的坐标和属性RGBASTZ,经过上述过程处理之后得到光栅化后的输出。这种三角形光栅化的实现方式可以实现快速的连续三角形的填充,输出三角形内部各个点的屏幕坐标和对应属性RGBASTZ。
申请公布号 CN102004832A 申请公布日期 2011.04.06
申请号 CN201010555857.1 申请日期 2010.11.22
申请人 长沙景嘉微电子有限公司 发明人 焦永;陈宝民;周敏龙
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 代理人
主权项 基于水平线扫描的三角形光栅化的实现,其特征为:输入包含三角形的三个顶点单精度浮点格式的坐标(X0,Y0)、(X1,Y1)、(X2,Y2),三个顶点对应的单精度浮点格式的属性{R0,G0,B0,A0,S0,T0,Z0}、{R1,G1,B1,A1,S1,T1,Z1}、{R2,G2,B2,A2,S2,T2,Z2},首先进行顶点顺序调整,确定最低点VB(XB,YB)、中间点VM(XM,YM)、最高点VT(XT,YT),在交换顶点顺序过程中对应点的属性也要交换,得到三角形的三条边TB、TM、MB,其中主要边为TB,利用叉乘积(XT‑XB)(YM‑YB)‑(XM‑XB)(YT‑YB)的符号确定主要边在左边还是右边:符号为1,主要边在右边,反之主要边在左边;计算三条边与最低点所在水平线的交点,分别计算三个交点坐标(XTB,Ymin)、(XMB,Ymin)、(XTM,Ymin)(其中Ymin为YB的整数上界转化成单精度浮点数),将这三组坐标和三条边的斜率倒数写入FIFO;计算三角形的属性增量,采用平面方程来计算(以Z属性为例)三角形的三个顶点的X、Y坐标与Z坐标构成一个空间平面,分别计算出A、B、C即可得到Z属性分别沿X方向和Y方向的属性增量,其余属性类似处理,将属性增量和最低点属性也写入FIFO。
地址 410205 湖南省长沙市河西高新区麓谷基地麓景路2号长沙生产力促进中心