CN102722902B - 一种图形渲染流水线中光栅化阶段反走样的改进方法 - Google Patents

一种图形渲染流水线中光栅化阶段反走样的改进方法 Download PDF

Info

Publication number
CN102722902B
CN102722902B CN201110116359.1A CN201110116359A CN102722902B CN 102722902 B CN102722902 B CN 102722902B CN 201110116359 A CN201110116359 A CN 201110116359A CN 102722902 B CN102722902 B CN 102722902B
Authority
CN
China
Prior art keywords
aliasing
color
value
depth
rasterization stage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201110116359.1A
Other languages
English (en)
Other versions
CN102722902A (zh
Inventor
蔡欢
张君琦
郑培枫
孙季川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Digital Video Beijing Ltd
Original Assignee
China Digital Video Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Digital Video Beijing Ltd filed Critical China Digital Video Beijing Ltd
Priority to CN201110116359.1A priority Critical patent/CN102722902B/zh
Publication of CN102722902A publication Critical patent/CN102722902A/zh
Application granted granted Critical
Publication of CN102722902B publication Critical patent/CN102722902B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

本发明公开了一种图形渲染流水线中光栅化阶段反走样的改进方法,包括:在光栅化阶段之前,根据反走样级别,准备放大的颜色缓冲区和深度缓冲区并初始化;对构成物体的三角片依次进行光栅化处理;对所有三角片都处理完之后,将颜色缓冲区缩小到原始大小,得到反走样的渲染结果。通过本发明的实施方式,能有效提高在有纹理情况下的计算效率。

Description

一种图形渲染流水线中光栅化阶段反走样的改进方法
技术领域
本发明涉及电视节目制作领域中的字幕处理领域,尤其涉及一种图形渲染流水线中光栅化阶段反走样的改进方法。
背景技术
字幕系统在视频制作领域有广泛的应用,也是应用视频技术的重要组成部分,而电视字幕作为一种必备的电视节目要素,是一种重要的电视图文的展现形式。
从广义的角度来说,电视字幕所处理的字幕对象渲染的最终目的是根据图形化的矢量信息和图像纹理,采用数字图像处理的相关算法,得到由32位RGBA表示的像素组成的一帧图像。为了获得稳定清晰的图像,通常需要对字幕对象进行反走样处理。反走样技术主要是用于消除点阵构成的显示设备整数坐标上的图像连续性被破坏,图形显示不圆滑出现锯齿状的情况。
现有技术中图形渲染主要是基于图形处理软件GPU实现的,GPU的工作是以流水线形式进行的,一个流水线是一系列可以并行和按照固定顺序进行的阶段,每个阶段都从前一个阶段接收输入,然后把输出发送到后续阶段。一般三维应用程序传给GPU的是顶点、颜色、第二颜色(反射)、纹理、纹理坐标、法向量、灯光、图元装配信息等数据,均匀反走样处理方法可以直接应用在在图形渲染流水线的光栅化阶段,但通常是对需要处理的整个区域内所有采样点的颜色进行计算,然后对全部采样点颜色取平均得到像素反走样的颜色值,从而得到稳定清晰的图像。
发明人在实施本发明的过程中,发现现有技术存在以下技术问题:
(1)渲染速度慢,特别是有多层纹理的时候;
(2)渲染过程复杂,需要对所有采样点进行计算;
发明内容
为了解决上述现有技术的缺点,本发明的主要目的是提供一种图形渲染流水线中光栅化阶段反走样的改进方法,以提高在有纹理情况下的计算效率,并且对物体的边缘和相交边界有很好的处理效果。
为了达到上述目的,本发明提供了一种图形渲染流水线中光栅化阶段反走样的改进方法,具体包括:
在光栅化阶段之前,根据反走样级别,准备放大的颜色缓冲区和深度缓冲区并初始化;
对构成物体的三角片依次进行光栅化处理;
对所有三角片都处理完之后,将颜色缓冲区缩小到原始大小,得到反走样的渲染结果。
本发明的实施方式通过在反走样处理之前先准备反走样所需的颜色缓冲区然后对三角片进行光栅化处理并且在光栅化处理完成之后对颜色缓冲区缩小到原始大小的反走样改进方法可以提高在有纹理情况下的计算效率,更好的实现三维渲染引擎的反走样效果。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种图形渲染流水线中光栅化阶段反走样的改进方法的流程图;
图2为本发明实施例的一种图形渲染流水线中光栅化阶段8X反走样的改进方法的步骤图;
图3为本发明实施例8X反走样以2*4的小区域为单位的扫描线示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然所描述的实施例仅是本发明的一部分实施例,不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的反走样的改进方法是应用在图形渲染流水线的光栅化阶段,是可以不依赖GPU,独立能实现的渲染引擎。另外,因为光栅化阶段采用扫描线算法,所以要实现光栅化阶段的反走样,X,Y方向采样点采用规则的m*n的方式。目前根据需要采样点方式包括2X(1*2),4X(2*2),8X(2*4),16X(4*4),32X(4*8)等采样方式。如以8X为例,即X方向采用两个采样点,Y方向采用4个采样点。
本发明实施例一方面提供了一种图形渲染流水线中光栅化阶段反走样的改进方法,实施流程如图1所示,具体为:
步骤S1:准备反走样需要的颜色缓冲区和深度缓冲区并初始化。获取当前三角片三个顶点的数据,屏幕空间中的位置vPos,深度值fDepth,顶点光照颜色vColor,每层纹理的uv坐标vUV[8](最多八层纹理)。要实现反走样,将顶点位置vPos的X、Y分量分别乘以X,Y方向的反走样倍数m,n或者叫做采样方式,记为m*n。
步骤S2:计算三角片的包围盒,并且此包围盒的X方向边界是m的整数倍,Y方向边界是n的整数倍。
步骤S3:计算包围盒区域内的扫描线的起点终点位置和起点终点的深度值,上述起点终点位置和起点终点的深度值是通过三角片三个顶点的位置和深度值插值得到的。
步骤S4:以m*n的小区域为单位,对在三角片内部且深度值大于深度缓冲区中的深度值的像素的x,y方向的权重值(区域内的相对位置)分别相加记为fSumX,fSumY,并将总的个数iCount加1,并标记这个像素为TRUE。其中fSumX,fSumY,iCount初始值都记为0。如果iCount为0则继续重复步骤S4,否则进行步骤S5。
步骤S5:根据步骤S4中得到的权重值将fSumX,fSumY除以总数iCount得到x,y方向的值,并计算相对于采样点小区域内的一个位置,此位置作为需要计算颜色的位置。
步骤S6:根据三角片顶点位置与上述计算的颜色的位置得到当前顶点的光照颜色和纹理坐标值后计算当前位置的颜色。
步骤S7:将计算得到的当前位置的颜色赋给S4中位于三角片内且深度值大于深度缓冲区中的深度值的像素。
步骤S8:按照上述方法对所有三角片都处理完之后,将颜色缓冲区缩小到原始大小,得到反走样的渲染结果。
本发明的实施方式通过在反走样处理之前先准备反走样所需的颜色缓冲区,计算采样点区域范围内的一个指定位置的颜色然后将此颜色值赋予区域范围内的子像素,然后对三角片进行光栅化处理并且在光栅化处理完成之后对颜色缓冲区缩小到原始大小的反走样改进方法可以提高在有纹理情况下的计算效率,更好的实现三维渲染引擎的反走样效果。
以下以采样点为8X为例并结合图2对本发明实施例一的图形渲染流水线中光栅化阶段反走样的改进方法进行更加详细的阐述,具体为:
步骤S1:将vPos的X,Y方向分别乘以反走样倍数即X方向乘以2,Y方向乘以4使颜色缓冲区和深度缓冲区存储的信息量是不用反走样时候的8倍。在光栅化阶段之前,准备反走样需要的颜色缓冲区和深度缓冲区并初始化。
步骤S2:计算三角片的最小包围盒,X方向边界是2的倍数,Y方向是4的倍数。
步骤S3:根据8X采样点计算包围盒区域内的扫描线的起点终点位置和起点终点的深度值,并且是通过三个顶点的位置和深度值插值得到的。
步骤S4:记fSumX,fSumY为0,iCount=0;本实施例的8X反走样以2*4的小区域为单位,通过3个扫描线的位置和深度值,具体可参见图3所示。判断这个区域内每个像素是否在三角片内,并且计算每个像素的深度值,进行深度检测(也就是与深度缓冲区中的深度值做比较,如大于这个值,表示离观察者近,未被遮挡)。如是,用将该像素的深度值替换深度缓冲区中的相应位置的深度值,并将此像素的X,Y方向的权重(相对于整个2*4区域的)加入fSumX,fSumY,并且iCount加1,并标记这个像素bFlag为TRUE。
步骤S5:如果iCount=0,继续计算下一个2*4小区域;否则进行步骤S6。
步骤S6:将fSumX,fSumY除以iCount,得到X,Y方向的值,并且是相对于小区域的位置值,根据小区域的位置,计算这个位置的绝对值,记为vTempPos。
步骤S7:计算当前位置的颜色。根据三角片三个顶点的位置及vTempPos的值,确定三角片三个顶点的权重,用三个顶点的颜色和纹理坐标值乘以相应顶点的权重并相加,得到当前位置vTempPos处的光照颜色和纹理坐标值(如有纹理)。光照颜色与纹理颜色进行混合,第一层纹理与光照颜色混合计算得到颜色值color,如果有第二层纹理,则与前面的颜色值color再做混合计算,依此类推,直到得到最终的颜色值。
步骤S8:将步骤7计算得到的颜色赋给2*4格内并且在三角片内部并且通过深度测试的子像素即步骤S4中标记为TRUE的像素进行颜色缓冲区的填充。
步骤S9:所有三角片都处理完之后,对颜色缓冲区缩小到原始大小即8个采样点颜色合成一个颜色,得到反走样的渲染效果。
本发明的实施方式通过在反走样处理之前先准备反走样所需的颜色缓冲区,计算采样点区域范围内的一个指定位置的颜色然后将此颜色值赋予区域范围内的子像素,然后对三角片进行光栅化处理并且在光栅化处理完成之后对颜色缓冲区缩小到原始大小的反走样改进方法可以提高在有纹理情况下的计算效率,并且对物体的边缘和相交边界有很好的处理效果,更好的实现三维渲染引擎的反走样效果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的一个最佳具体实施例,但本发明的特征并不局限于此,任何熟悉该项技术的人在本发明领域内,可轻易想到的变化或修饰,都应涵盖在以下本发明的申请专利范围中。

Claims (12)

1.一种图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,包括:
步骤1,在光栅化阶段之前,根据反走样级别,准备放大的颜色缓冲区和深度缓冲区并初始化;
步骤2,对构成物体的三角片依次进行光栅化处理,具体方法为:
计算三角片的包围盒;
计算包围盒区域内的扫描线的起点终点位置和起点终点的深度值;
对在三角片内部且深度值大于深度缓冲区的深度值的像素进行x,y方向权重值计算并进行像素标记;
获取需要计算颜色的位置;
计算当前位置的颜色;
将所述计算得到当前位置的颜色赋给标记的像素;
步骤3,对所有三角片都处理完之后,将颜色缓冲区缩小到原始大小,得到反走样的渲染结果。
2.如权利要求1所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,所述准备放大的颜色缓冲区和深度缓冲区具体为:
将平面空间中的位置的X,Y分量分别乘以X,Y方向的反走样倍数得到反走样需要的颜色缓冲区和深度缓冲区。
3.如权利要求1所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,在准备反走样需要的颜色缓冲区和深度缓冲区并初始化之前还包括获取当前三角片三个顶点的数据、屏幕空间中的位置、深度值、顶点光照颜色及每层纹理的坐标。
4.如权利要求1所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,所述计算物体的包围盒是三角片x,y方向的边界分别是x,y方向采样数m,n的整数倍。
5.如权利要求1所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,所述计算包围盒区域内的扫描线的起点终点位置和起点终点的深度值是通过三角片三个顶点的位置和深度值插值得到的。
6.如权利要求1所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,所述对在三角片内部且深度值大于深度缓冲区的深度值的像素进行x,y方向权重值计算之前还需要判断以采样方式m*n小区域单位内的每个像素是否在三角片内部。
7.如权利要求6所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,所述判断m*n小区域单位内的每个像素是否在三角片内部是通过扫描线的位置和深度值进行判断的。
8.如权利要求7所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,所述判断m*n小区域单位内的每个像素是否在三角片内部后还需要对深度值进行深度检测,所述对深度值进行深度检测具体为:计算m*n小区域单位内且在三角片内部的每个像素的深度值,与深度缓冲区中的深度值做比较,如果大于这个值则将该像素的深度值替换深度缓冲区中的相应位置的深度值。
9.如权利要求1所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,所述获取需要计算颜色的位置具体方法为:在三角片内部且深度值大于深度缓冲区的深度值的像素的x,y方向权重值相加后的值除以总数,得到X,Y方向的值,并且是相对于m*n小区域的位置值,根据小区域的位置,计算这个位置的绝对值。
10.如权利要求1所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,所述计算当前位置的颜色是根据三角片顶点位置与所述计算的颜色的位置得到当前位置的光照颜色和纹理坐标值后,并将光照颜色和纹理颜色混合得到的。
11.如权利要求10所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,所述光照颜色和纹理颜色混合得到当前位置的颜色具体为:第一层纹理与光照颜色混合计算得到颜色值,如果有第二层纹理,则与前面的颜色值再做混合计算,依此类推,直到得到最终的颜色值。
12.如权利要求1所述的图形渲染流水线中光栅化阶段反走样的改进方法,其特征在于,所述将颜色缓冲区缩小到原始大小具体为将m*n个采样点颜色混合成一个颜色。
CN201110116359.1A 2011-05-06 2011-05-06 一种图形渲染流水线中光栅化阶段反走样的改进方法 Expired - Fee Related CN102722902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110116359.1A CN102722902B (zh) 2011-05-06 2011-05-06 一种图形渲染流水线中光栅化阶段反走样的改进方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110116359.1A CN102722902B (zh) 2011-05-06 2011-05-06 一种图形渲染流水线中光栅化阶段反走样的改进方法

Publications (2)

Publication Number Publication Date
CN102722902A CN102722902A (zh) 2012-10-10
CN102722902B true CN102722902B (zh) 2016-05-04

Family

ID=46948648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110116359.1A Expired - Fee Related CN102722902B (zh) 2011-05-06 2011-05-06 一种图形渲染流水线中光栅化阶段反走样的改进方法

Country Status (1)

Country Link
CN (1) CN102722902B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107481307B (zh) * 2017-07-05 2023-04-07 国网山东省电力公司泰安供电公司 一种快速渲染三维场景的方法
CN108009978B (zh) * 2017-11-24 2021-04-20 中国航空工业集团公司西安航空计算技术研究所 一种非阻塞并行三角形光栅化单元结构
CN108022201B (zh) * 2017-11-24 2021-09-14 中国航空工业集团公司西安航空计算技术研究所 一种三角形图元并行光栅化定序方法
CN108519867B (zh) * 2018-04-12 2022-08-19 长沙景美集成电路设计有限公司 Gpu中一种实现三角形反走样的装置和方法
CN109102456B (zh) * 2018-08-07 2023-05-23 南京军微半导体科技有限公司 按行扫描透视校正3d图形渲染的三角形光栅化加速器
CN111798372B (zh) * 2020-06-10 2021-07-13 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备和可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114380A (zh) * 2006-03-10 2008-01-30 株式会社东芝 图像处理装置和图像处理方法
CN101620725A (zh) * 2008-07-03 2010-01-06 辉达公司 混合多重采样/超采样抗锯齿
CN101901590A (zh) * 2009-05-25 2010-12-01 富士通株式会社 用于抗锯齿的多边形栅格化的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114380A (zh) * 2006-03-10 2008-01-30 株式会社东芝 图像处理装置和图像处理方法
CN101620725A (zh) * 2008-07-03 2010-01-06 辉达公司 混合多重采样/超采样抗锯齿
CN101901590A (zh) * 2009-05-25 2010-12-01 富士通株式会社 用于抗锯齿的多边形栅格化的方法和系统

Also Published As

Publication number Publication date
CN102722902A (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
JP6678209B2 (ja) 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整
JP6563048B2 (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
CN102722902B (zh) 一种图形渲染流水线中光栅化阶段反走样的改进方法
CN111508052B (zh) 三维网格体的渲染方法和装置
KR101922482B1 (ko) 다수의 렌더 타겟들 내에서 활성 컬러 샘플 카운트를 변경함으로써 스크린 위치에 의한 변화하는 유효 분해능
EP2705501B1 (en) Texturing in graphics hardware
JP2010102713A (ja) コンピュータグラフィックスを処理する方法および機器
CN102737401A (zh) 一种图形渲染中光栅化阶段的三角片填充方法
EP1480171B1 (en) Method and system for supersampling rasterization of image data
US7733354B1 (en) Anti-aliased rendering
JP3549871B2 (ja) 描画処理装置及び方法、描画処理プログラムを記録した記録媒体、描画処理プログラム
EP2804149B1 (en) Water representation by color gradients on a digital map
JP4801088B2 (ja) 画素サンプリングの方法及び装置
KR101030825B1 (ko) 샘플링 패턴을 이용하는 방법, 샘플링 패턴을 생성하는 방법, 안티 에일리어싱 시스템, 및 컴퓨터 판독 가능한 기록매체
CN101930340B (zh) 一种电子书模拟真实翻页产生光照效果的方法
EP1431920B1 (en) Low-cost supersampling rasterization
WO2014178902A1 (en) Anti-aliasing for geometries
JP3872056B2 (ja) 描画方法
KR100927131B1 (ko) 안티 알리어싱 방법 및 장치
CN115761100A (zh) 场景渲染方法、装置、电子设备及存储介质
SE534866C2 (sv) Metod för att skapa högupplösta displaysystem med multipla projektorer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Cai Huan

Inventor after: Zhang Junqi

Inventor after: Zheng Peifeng

Inventor after: Sun Jichuan

Inventor before: Cai Huan

Inventor before: Zhang Junqi

Inventor before: Zheng Peifeng

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: CAI HUAN ZHANG JUNQI ZHENG PEIFENG TO: CAI HUAN ZHANG JUNQI ZHENG PEIFENG SUN JICHUAN

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160504

Termination date: 20180506