本发明专利技术公开了一种用光线追踪算法生成图形时所使用的等价划分反锯齿方法,属于计算机图形学领域。传统光线追踪算法的抗锯齿方法采样点数多,效率低。本发明专利技术方法的步骤为:(1)获取相邻像素对颜色(2)计算颜色偏差(3)判断(4)区域划分(5)递归调用(6)区域颜色合成。该方法主要用于光线追踪算法的反锯齿应用。
【技术实现步骤摘要】
光线追踪的等价划分反锯齿方法
本专利技术属于计算机图形学领域,具体涉及一种采用光线追踪算法生成计算机图形时使用的反锯齿方法。
技术介绍
(1)光线追踪算法1980年Whitted首先提出光线追踪算法(WhittedT.Animprovedilluminationmodelforshadeddisplay.CommunicationsoftheAcm(s0001-0782).1980:343-349.)。算法建立了第一个全局光照模型,实现了反射光线,折射光线,多重阴影等效果。光线追踪算法模拟几何光学,符合真实世界中光线的传播、折射、衍射、吸收等过程,通过追踪与场景中的物体表面发生交互作用的光线,得到光线经过路径的模型,计算视觉效果的一种方法。它能够得到光栅化方法很难获得的光学特效,同时其他的全局光照模型绘制算法,如光子映射,也需要光线追踪算法来计算各像素点的光亮度。但是光线追踪算法运算量大,实时渲染难于实现。用光线追踪算法实时渲染游戏画面,在1024×768的分辨率下,共有786432个象素,乘以每象素30束光线(分别用来计算反射,折射光线、环境光照跟其他各种特效)及每秒60帧,需要每秒运算141.5亿束光线的计算能力。因此,这种技术多年来一直只在离线渲染领域被广泛使用,如电影特效的处理中。对于3D游戏等需要实时渲染场合,使用现有的硬件体系结构和算法,绘制一帧简单的图像也需要耗费较长的渲染时间,达不到实时渲染的标准。如果完全模拟现实光源发出光线进行追踪,计算量极为庞大,计算机难于实现,同时很多光线没有进入人眼,对于人的视觉没有任何影响,浪费了宝贵的运算资源。因此,JamesArvo等人提出了逆向光线追踪算法(ArvoJ,KirkD.Fastraytracingbyrayclassification[J].ProceedingsofAnnualConferenceonComputerGraphics&InteractiveTechniques,1987,21:55-64.),算法跟踪从视点发出的光线,穿过计算机屏幕上的像素点,碰撞到场景中的物体上,计算颜色,再多次跟踪计算反射,折射等光线分量,通过颜色混合,获得像素点颜色。算法的计算量大大降低,使得计算机实现成为可能。光线追踪算法所需计算量巨大,为了提高计算效率,主要方法包括:①设计处理速度更快,效率更高的硬件结构。②实行大规模并行计算。③光线追踪算法中大多数时间用在光线和物体碰撞检测上,通过使用加速结构,降低碰撞检测时间。4降低采样点个数,减少追踪光线的数目。(2)反锯齿算法传统的图形处理器是基于光栅化的流水线实现。三角形经过光栅化后会产生大量的像素。由于将连续信号变换为离散信号,会产生锯齿现象。同理,光线追踪算法也存在同样问题。主要的反锯齿技术包括:超采样抗锯齿(SSAA,SupperSampleAnti-Aliasing)(NVIDIA.HRAA:High-resolutionanti-aliasingthroughmultisampling.2001),先把图像映射到缓存并把它放大,再把放大后的图像像素进行采样,一般选取2*2个或4*4个采样点,把这些采样混合起来后,生成的最终像素,令每个像素拥有邻近像素的特征,像素之间的过渡色彩,就变得近似,图形的边缘色彩过渡趋于平滑。再把最终像素还原回原来大小的图像,并保存到帧缓存也就是显存中,替代原图像存储起来,最后输出到显示器,显示出一帧画面。这样就等于把一幅模糊的大图,通过细腻化后再缩小成清晰的小图,但光线数目增加了4到16倍,运算量大大增加。多采样抗锯齿(MSAA,MultiSampleAnti-Aliasing)是一种特殊的超级采样抗锯齿(SchwarzM,StammingerM.MultisampledAntialiasingofPerpixelGeometry[C].//EG2009-AnnexShortPapers.Munich:EurographicsAssociation,2009:21-24),在不改变显示尺寸的情况下对图形边缘像素强制提高分辨率,一般采用2*2个或4*4个采样点,从而明显减轻锯齿感。该方法能够提供灵活的采样模式,具有很好的抗锯齿质量,但运算量还是较大。快速近似抗锯齿(FXAA,FastApproximateAnti-Aliasing)先是对边缘像素的探测,之后是区分RGB和明暗信息,将对比最为明显的像素取出,进行2*2个或4*4个采样处理,完成之后将纹理重新覆盖,从而实现抗锯齿效果(Atwood,Jeff(December7,2011).″FastApproximateAnti-Aliasing(FXAA)″.CodingHorror.RetrievedSeptember30,2012.)。时间性抗锯齿(TXAA,TimeApproximateAnti-Aliasing),(″NVIDIALaunchesFirstGeForceGPUsBasedonNext-GenerationKeplerArchitecture″.Nvidia.March22,2012.)TXAA在标准2*2MSAA和4*4MSAA的基础上改进了时间性过滤。TXAA的原理就是通过HDR后处理管线从硬件层面上提供颜色矫正处理,后期处理的方式实际上原理和FXAA一致。TXAA还能够对帧之间的整个场景进行抖动采样,以减少闪烁情形,闪烁情形在技术上又称作时间性锯齿。采样点的覆盖测试是决定多采样反锯齿性能的关键。由于覆盖测试是在扫描转换阶段实现的,为了提高抗锯齿的性能,扫描转换不断的得到改进。有人提出了基于Tile的扫描转换结构(MccormackJ,MchamaraR.Tiledpolygontraversalusinghalf-planeedgefunctions[C].//ProceedingsoftheACMSIGGRAPH/EurographicsworkshoponGraphicshardware.NewYork:ACM.2000:15-21.),因为Tile比较细致,能更精确的逼近图元的边界。由于多采样对存储容量和带宽的需求很高,人们又提出了一些降低多采样时的存储容量和带宽的技术,例如覆盖采样反锯齿技术(CSAA,CoverageSamplingAnti-aliasing)等。上面所示这些反锯齿技术,被采样像素可设置为2*2或4*4个采样点,采用均匀采样或抖动采样方式,进行采样,其中很多采样点的采样结果都是一致的。对于光线追踪算法,会产生多达4倍或16倍的光线数目,是计算效率上的巨大浪费。需要设计科学方法,进一步对像素进行细化,减少采样点个数,从而提高光线追踪算法效率。
技术实现思路
本专利技术提出了一种用光线追踪算法生成的图形时,在保证图形质量的前提下,对边界像素的采样点进行细分,减少不必要采样点个数,提高了光线追踪算法的效率。本专利技术的技术方案主要包括以下步骤:(1)获取相邻像素对颜色:相邻像素用A,B表示,获取方式1:如果该相邻像素对颜色已经存在,则直接取出像素对颜色,赋值给获取方式2:如果不存在,使用光线追踪算法计算两个相邻像素A和B中点的颜色,赋值给表示A点颜色,表示B点颜色,i本文档来自技高网...
【技术保护点】
一种光线追踪的等价划分反锯齿方法,其特征在于包括以下步骤:(1)获取相邻像素对颜色:相邻像素用A,B表示,获取方式1:如果该相邻像素对颜色已经存在,则直接取出像素对颜色,赋值给获取方式2:如果不存在,使用光线追踪算法计算两个相邻像素A和B中点的颜色,赋值给表示A点颜色,表示B点颜色,i表示递归次数;(2)计算颜色偏差:采用如下公式计算两点的颜色偏差;ColDevi=(CiA.red-CiB.red)2+(CiA.green-CiB.green)2+(CiA.blue-CiB.blue)2]]>(3)判断:判断颜色偏差小于设定阀值或递归次数大于等于递归深度?如果成立,将返回,退出;(4)区域划分:如果不成立,将每个像素分别以中点为中心平均分为四个区域,靠近两像素边界的四个区域又构成了两组相邻像素对,分别称为相邻像素对1和相邻像素对2;(5)递归调用:分别计算相邻像素对1和相邻像素对2的坐标;如果A为中心像素,B为右邻像素,相邻像素对1的两个采样点坐标,采用的计算公式如下:Loci+11.A.x=Loci1.A.x+(12)i,Loci+11.A.y=Loci1.A.y+(12)i;Loci+11.B.x=Loci1.B.x-(12)i,Loci+11.B.y=Loci1.B.y+(12)i;]]>相邻像素对2的两个采样点坐标,采用的计算公式如下:Loci+12.A.x=Loci2.A.x+(12)i,Loci+12.A.y=Loci2.A.y-(12)i;Loci+12.B.x=Loci2.B.x-(12)i,Loci+12.B.y=Loci2.B.y-(12)i;]]>如果A为中心像素,B为下邻像素,相邻像素对1的两个采样点坐标,采用的计算公式如下:Loci+11.A.x=Loci1.A.x-(12)i,Loci+11.A.y=Loci1.A.y-(12)i;Loci+11.B.x=Loci1.B.x-(12)i,Loci+11.B.y=Loci1.B.y+(12)i;]]>相邻像素对2的两个采样点坐标,采用的计算公式如下:Loci+12.A.x=Loci2.A.x+(12)i,Loci+12.A.y=Loci2.A.y-(12)i;Loci+12.B.x=Loci2.B.x+(12)i,Loci+12.B.y=Loci2.B.y+(12)i;]]>递归次数Num+1,带入下面公式进行递归调用:(Ci+1A1,Ci+1B1)=PixCol(Loci+11,Numi+11)]]>(Ci+1A2,Ci+1B2)=PixCol(Loci+12,Numi+12)]]>(6)区域颜色合成:将计算结果用下面公式合成,CiA=12CiA+14Ci+1A1+14Ci+1A2]]>CiB=12CiB+14Ci+1B1+14Ci+1B2]]>返回退出。...
【技术特征摘要】
1.一种光线追踪的等价划分反锯齿方法,其特征在于包括以下步骤:(1)获取相邻像素对颜色:相邻像素用A,B表示,获取方式1:如果该相邻像素对颜色已经存在,则直接取出像素对颜色,赋值给获取方式2:如果不存在,使用光线追踪算法计算两个相邻像素A和B中点的颜色,赋值给表示A点颜色,表示B点颜色,i表示递归次数;(2)计算颜色偏差:采用如下公式计算两点的颜色偏差;(3)判断:判断颜色偏差小于设定阀值或递归次数大于等于递归深度?如果成立,将返回,退出;(4)区域划分:如果不成立,将每个像素分别以中点为中心平均分为四个区域,靠近两像素边界的四个区域又构成了两组相邻像素对,分别称为相邻像素对1和相邻像素对2;(5)递归调用:分别计算相邻像素对1和相邻像素对2的坐标;如果A为中心像素,B为右邻像素,相邻像素对1的两个采样点坐标,采用的计算公式如下:相邻像素对2的两个采样点坐标,采用的计算公式如下:
【专利技术属性】
技术研发人员:曹小鹏,韩俊刚,韩炜,
申请(专利权)人:西安邮电大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。