一种图形渲染中光栅化阶段的三角片填充方法

文档序号:6423669阅读:436来源:国知局
专利名称:一种图形渲染中光栅化阶段的三角片填充方法
技术领域
本发明涉及电视节目制作领域中的字幕处理领域,尤其涉及一种图形渲染中光栅化阶段的三角片填充方法。
背景技术
电视节目字幕处理的过程中,图形渲染是其中必不可少的一个重要的步骤。现有技术的图形渲染大多采用扫描线算法,扫描线算法是按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色显示这些区间的像素,完成转换工作。区间的端点可以通过计算扫描线与多边形边界线的交点获得,对于一条扫描线,多边形的扫描转换过程主要是以下四个过程求交、排序、配对和着色,具体过程如下
求交计算扫描线与多边形各边的交点;排序把所有交点按X值递增顺序排序;配对第一个与第二个,第三个与第四个等等;每对交点代表扫描线与多边形的一个相交区间;着色把相交区间内的象素置成多边形颜色,把相交区间外的象素置成背景色;传统的扫描线算法主要是针对屏幕像素的,计算过程也都是基于整数计算,并且传统的扫描线算法是针对多边形,针对整个屏幕进行计算的。参见图I所示为现有技术扫描线与多边形扫描算法示意图,发明人在实施本发明的过程中,发现现有技术存在以下技术问题(I)基于整数计算的方法,精确度较低;(2)针对多边形填充的方法计算过程复杂;(3)针对整个屏幕进行计算,计算量较大。

发明内容
为了解决上述现有技术的缺点,本发明的主要目的是提供一种图形渲染中光栅化阶段的三角片填充方法,解决了现有技术中精确度低,计算过程复杂,计算量大的问题。为了达到上述目的,本发明提供了一种图形渲染中光栅化阶段的三角片填充方法,具体包括依据光栅化阶段之前的渲染流水线获取三角片三个顶点的数据;计算三角片在屏幕空间中的包围盒;依次对包围盒内每条扫描线分别进行扫描,通过扫描线起点终点的位置值与当前像素的位置,插值得到三角片内像素的光照颜色值、深度值及纹理坐标;计算所述三角片内像素的颜色并得到最终的颜色写入颜色缓冲区完成三角片的填充。与现有技术相比,本发明的优点在于(I)本发明的图形渲染只针对三维物体图形渲染中的光栅化阶段进行处理,而且是针对三角片的,计算扫描线起点终点的时候做了简化,提高了效率。(2)本发明的扫描线的起点终点信息不仅记录位置,还记录颜色,纹理坐标,深度值。在扫描线填充三角片的过程中进行了深度的判断和纹理的计算及颜色混合等。(3)本发明的扫描线算法不是基于整个屏幕的扫描,而是先计算了三角片的包围盒,在包围盒内实现扫描线算法,大大减少了计算量。


为了更清楚的说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 图I为现有技术的扫描线与多边形扫描算法示意图;图2为本发明实施例的图形渲染中光栅化阶段的三角片填充方法步骤图;图3为本发明实施例的扫描线扫描三角片得到扫描线最大值与最小值的示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然所描述的实施例仅是本发明的一部分实施例,不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例一方面提供了一种基于扫描线实现三角片填充的方法,如图I所示,具体为步骤SI :光栅化阶段之前准备颜色缓冲区和深度缓冲区并依据光栅化阶段之前的渲染流水线获取三角片三个顶点的数据,包括屏幕位置,深度值,顶点光照颜色及每层纹理坐标。屏幕位置和深度值由三角片顶点的物体坐标经过世界空间变换,视变换,投影变换,透视除法,标准设备变换等计算得到。顶点光照颜色采用高洛德着色方式计算得到。每层纹理值采用初始的顶点纹理坐标乘以该层纹理的旋转矩阵得到。步骤S2 :计算三角片在屏幕空间中的包围盒的x,y方向的最大值与最小值。步骤S3 :计算包围盒内每条扫描线上位置的最大值与最小值及这两个位置的光照颜色,纹理坐标和深度值。获取扫描线的最大值与最小值的方法为首先对扫描线的起点与终点赋予一个初值,依次使三角片的三条边与扫描线求交点,并使三角片的三条边与所述初值做比较,然后找到扫描线的最大值与最小值。如图3所示为本发明的扫描线扫描三角片得到扫描线最大值最小值的示意图。步骤S4 :依次对每条扫描线分别进行扫描,通过扫描线起终点的位置值与当前像素的位置,插值得到三角片内像素的光照颜色值、深度值及纹理坐标。步骤S5 :将步骤S4得到的像素深度值与深度缓冲区中对应的像素深度值做比较,如果大于深度缓冲区中的深度值,表示此像素离观察者更近,用像素的深度值替换深度缓冲区相应位置的深度值。
步骤S6 :计算所述三角片内像素的颜色并得到最终的颜色写入颜色缓冲区完成三角片的填充。如果没有纹理,将步骤S4中计算得到的像素的光照颜色写入颜色缓冲区。如果有纹理,通过步骤S4的第0层纹理坐标,取得纹理颜色值,与光照颜色混合,得到颜色color,如果还有第一层纹理,再将第一层纹理颜色与混合得到的颜色color混合,依次类推,得到最终的颜色,写入颜色缓冲区中。步骤S7 :将颜色缓冲区的颜色输出,得到光栅化填充三角片的渲染效果。本发明实施例的图形渲染中光栅化阶段的三角片填充方法,通过只针对三维物体图形渲染中的光栅化阶段进行处理,而且是针对三角片的不再是多边形。计算扫描线起点终点的时候做了简化,提高了效率。本发明的扫描线的起点终点信息不仅记录位置,还记录颜色,纹理坐标,深度值同时在扫描线填充三角片的过程中进行了深度的判断和纹理的计算及颜色混合等。本发明的扫描线算法不是基于整个屏幕的扫描,而是先计算了三角片的 包围盒,在包围盒内实现扫描线算法,大大减少了计算量。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述,仅为本发明的一个最佳具体实施例,但本发明的特征并不局限于此,任何熟悉该项技术的人在本发明领域内,可轻易想到的变化或修饰,都应涵盖在以下本发明的申请专利范围中。
权利要求
1.一种图形渲染中光栅化阶段的三角片填充方法,其特征在于,具体包括 依据光栅化阶段之前的渲染流水线获取三角片三个顶点的数据; 计算三角片在屏幕空间中的包围盒; 依次对包围盒内每条扫描线分别进行扫描,通过扫描线起点终点的位置值与当前像素的位置,插值得到三角片内像素的光照颜色值、深度值及纹理坐标; 计算所述三角片内像素的颜色并得到最终的颜色写入颜色缓冲区完成三角片的填充。
2.如权利要求I所述的图形渲染中光栅化阶段的三角片填充方法,其特征在于,所述获取三角片三个顶点的数据包括获取包括屏幕位置,深度值,顶点光照颜色及每层纹理坐标。
3.如权利要求2所述的图形渲染中光栅化阶段的三角片填充方法,其特征在于,所述屏幕位置和深度值由三角片顶点的物体坐标经过世界空间变换,视变换,投影变换,透视除法,标准设备变换计算得到。
4.如权利要求2所述的图形渲染中光栅化阶段的三角片填充方法,其特征在于,所述顶点光照颜色采用高洛德着色方式计算得到。
5.如权利要求2所述的图形渲染中光栅化阶段的三角片填充方法,其特征在于,所述每层纹理坐标由初始的顶点纹理坐标乘以该层纹理的旋转矩阵得到。
6.如权利要求I所述的图形渲染中光栅化阶段的三角片填充方法,其特征在于,所述计算三角片包围盒具体为计算三角片包围盒的x,y方向的最大值与最小值。
7.如权利要求I所述的图形渲染中光栅化阶段的三角片填充方法,其特征在于,所述依次对包围盒内每条扫描线分别进行扫描之前还包括计算包围盒内每条扫描线上位置的最大值与最小值及这两个位置的光照颜色,纹理坐标和深度值。
8.如权利要求7所述的图形渲染中光栅化阶段的三角片填充方法,其特征在于,所述计算包围盒内每条扫描线上位置的最大值与最小值具体方法为 首先对扫描线的起点与终点赋予一个初值,依次使三角片的三条边与扫描线求交点,所述交点的值与所述初值做比较,然后找到扫描线的最大值与最小值。
9.如权利要求I所述的图形渲染中光栅化阶段的三角片填充方法,其特征在于,插值得到三角片内像素的深度值后将所述三角片内像素的深度值与深度缓冲区中对应的像素深度值作比较,如果所述三角片内像素的深度值大于深度缓冲区中的深度值则用像素的深度值替换深度缓冲区相应位置的深度值。
10.如权利要求I所述的图形渲染中光栅化阶段的三角片填充方法,其特征在于,所述计算所述三角片内像素的颜色并得到最终的颜色写入颜色缓冲区完成三角片的填充包括 没有纹理,将计算得到的三角片内的像素的光照颜色写入颜色缓冲区; 有纹理,多层纹理的颜色依次混合得到最终颜色写入颜色缓冲区。
全文摘要
本发明公开了一种图形渲染中光栅化阶段的三角片填充方法,包括依据光栅化阶段之前的渲染流水线获取三角片三个顶点的数据;计算三角片包围盒并记录浮点类型和整数类型两组数据;依次对包围盒内每条扫描线分别进行扫描,通过扫描线起点终点的位置值与当前像素的位置,插值得到三角片内像素的光照颜色值、深度值及纹理坐标;计算所述三角片内像素的颜色并得到最终的颜色写入颜色缓冲区完成三角片的填充。通过本发明的实施方法可以在图形渲染的光栅化阶段对三角片的像素进行有效正确的填充,实现真三维物体的渲染效果。
文档编号G06T15/00GK102737401SQ20111011657
公开日2012年10月17日 申请日期2011年5月6日 优先权日2011年5月6日
发明者孙季川, 张君琦, 蔡欢, 郑培枫 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1