基于纹理贴图的抗锯齿方法及系统技术方案

技术编号:15219925 阅读:188 留言:0更新日期:2017-04-26 19:23
本申请公开了一种基于纹理贴图的抗锯齿方法及系统,其中,基于纹理贴图的抗锯齿方法包括:设定反锯齿因子;获取各纹理像素,分别判断各所述纹理像素是否为边缘像素,并确定所述纹理像素所在边缘的边界线;若是边缘像素,则计算所述纹理像素到所述边界线的边缘距离占反锯齿带宽度的占比,并根据所述占比修正所述纹理像素的阿尔法通道的数值,使得经纹理贴图处理的图像边缘的平滑;其中,所述反锯齿带宽度根据所述反锯齿因子计算获得。根据本申请实施例提供的技术方案,通过设定反锯齿因子修正纹理像素的阿尔法通道的数值,能够解决图像渲染中的边缘锯齿问题。

Anti aliasing method and system based on texture mapping

The invention discloses a method and system wherein, anti aliasing on texture mapping, including antialiasing method on texture mapping: setting the anti aliasing factor; obtain the texture pixels, respectively determine each of the texture pixel is an edge pixel, and determine the boundary line of the texture pixel edge; if the edge pixel then, calculate the texture pixels to the boundary line distance for anti aliasing band width ratio, and according to the accounting value of Alfa channel correcting the texture pixels, the image edge smoothing by texture processing; wherein, the anti aliasing band width is calculated according to the anti aliasing factor. According to the technical scheme provided by the embodiment of the application, the problem of edge aliasing in the image rendering can be solved by setting the value of the Alfa channel of the texture pixel by setting the anti aliasing factor.

【技术实现步骤摘要】

本公开一般涉及图像处理领域,具体涉及虚拟现实领域与图像渲染相关的图像处理,尤其涉及基于纹理贴图的抗锯齿方法及系统。
技术介绍
虚拟现实领域的应用基本都是构建于三维图形引擎之上,所有物体包括用户界面都是使用透视摄像机渲染呈现,用户界面所依附的图片虽然是矩形,由于三维空间中摄像机视角的变化,二维贴图边界并不一定与屏幕坐标系的X,Y轴平行,根据光栅化的原理,当边界的直线变成斜线相对于屏幕坐标系呈现时,如果与背景色缺少渐变过渡,将会出现边缘锯齿。目前,大多采用开启三维图形引擎的全局抗锯齿功能,该功能的缺点在于将加大所有模型的边缘像素采样率,要求处理器具有强大的处理能力,对资源的开销很大,并且处理时间较长。在很多应用中不便于使用,特别不适用于便携式的移动终端。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种简单而高效的抗锯齿方法。为了解决上述问题,本申请提出一种基于纹理贴图的抗锯齿方法及系统。第一方面,提供一种基于纹理贴图的抗锯齿方法,所述方法包括:设定一反锯齿因子;获取各纹理像素,分别判断各所述纹理像素是否为边缘像素,并确定所述纹理像素所在边缘的边界线;若是边缘像素,则计算所述纹理像素到所述边界线的边缘距离占反锯齿带宽度的占比,并根据所述占比修正所述纹理像素的阿尔法通道的数值,使得经纹理贴图处理的图像边缘的平滑;其中,所述反锯齿带宽度根据所述反锯齿因子计算获得。第二方面,提供一种基于纹理贴图的抗锯齿系统,所述系统包括:反锯齿因子设定装置,配置用于设定一反锯齿因子;边缘像素确定装置,配置用于获取各纹理像素,分别判断各所述纹理像素是否为边缘像素,并确定所述纹理像素所在边缘的边界线;修正装置,配置用于若是边缘像素,则计算所述纹理像素到所述边界线的边缘距离占反锯齿带宽度的占比,并根据所述占比修正所述纹理像素的阿尔法通道的数值,使得经纹理贴图处理的图像边缘的平滑,其中,所述反锯齿带宽度根据所述反锯齿因子计算获得。根据本申请实施例提供的技术方案,通过设定反锯齿因子修正位于边缘的纹理像素的阿尔法通道的数值,能够解决图像渲染的边缘锯齿问题。进一步的,根据本申请的某些实施例,通过仅对纹理像素进行抗锯齿处理,还能解决浪费处理器资源的问题,获得简便而高效的抗锯齿处理效果。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出了根据本申请实施例的基于纹理贴图的抗锯齿方法的示例性流程图;图2示出了根据本申请实施例的纹理坐标的示例性示意图。图3示出了根据本申请实施例的基于纹理贴图的抗锯齿系统的示例性结构框图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。请参考图1,示出了根据本申请实施例的基于纹理贴图的抗锯齿方法的示例性流程图。如图1所示,在步骤101中,设定反锯齿因子。在纹理贴图过程,设定一反锯齿因子,即设定需要修正的像素比例。该反锯齿因子大于零小于1。纹理贴图是能大幅度提高图像真实性的图像处理方法,将一副可作为纹理的图像映射到物体表面上的过程,该物体表面包括多边形表面、曲面等。在纹理贴图阶段可对贴图颜色进行修改,因此本申请提出了在渲染流程的纹理贴图阶段以设置反锯齿因子的方式,避免渲染过程中产生的边缘锯齿抗锯齿方法。接着在步骤102中,获取各纹理像素,分别判断各所述纹理像素是否为边缘像素,并确定所述纹理像素所在边缘的边界线。请参考图2,示出了纹理贴图中涉及的纹理坐标的示意图,纹理坐标将图像上每个点精确映射到需要渲染的模型物体的表面。纹理像素在纹理坐标横向和纵向的取值范围均为0至1,并且上下左右四边为纹理贴图的边界,图2的201为上边界线,202为右边界线。确定获取的像素是否为边缘像素可采用如下方法获取:分别计算所述纹理像素到纹理贴图的列向或行向中心线的中心距离;根据所述反锯齿因子计算生成基准边缘距离;分别比较各所述中心距离和所述基准边缘距离,若所述中心距离大于等于所述基准边缘距离则确定为边缘像素。其中,在纹理坐标上的纹理贴图的列向或行向中心线相当于经过(0.5,0.5)纹理坐标点的横向线203和纵向线204。边缘是比较模糊的概念,为了以量化方式进行判断,本申请定义了判断边缘的基准边缘距离,该基准边缘距离可根据反锯齿因子计算获得。其采用的公式如下:m=1/2×(1-f)其中,m为基准边缘距离;f为反锯齿因子,0<f<1;1/2的“1”表示纹理像素在纹理坐标的最大取值。例如设定的反锯齿因子为0.05,则基准边缘距离为0.0475。某一纹理像素A的坐标为(0.2,0.98),纹理像素A至纵向线204的距离为0.3小于0.0475,而纹理像素A至横向线204的距离为0.48大于0.0475。可以判断纹理像素A为边缘像素,所在边缘的边界线为上边界线201。应当理解的是,上述判断边缘像素的方法中,也可先计算生成基准边缘距离,再计算纹理像素到纹理贴图的列向或行向中心线的中心距离,并分别比较各中心距离和该基准边缘距离,若所述中心距离大于等于所述基准边缘距离则确定为边缘像素。接着,在步骤103中,若是边缘像素,则计算所述纹理像素到所述边界线的边缘距离占反锯齿带宽度的占比,并根据所述占比修正所述纹理像素的阿尔法(Alpha)通道的数值,使得经纹理贴图处理的图像边缘的平滑。该占比采用如下公式计算:μ=(1/2-abs(n-1/2))/1/2×f其中,μ为边缘距离占反锯齿带宽度的占比,公式中分母部分的1/2×f的数值为反锯齿带宽度;n为所述纹理像素的横坐标值或纵坐标值,0≤n≤1,公式中的abs(n-1/2)为大于所述基准边缘距离的中心距离;f为反锯齿因子,0<f<1。以上述中的纹理像素A(0.2,0.98)为例说明该占比的计算方法。f取值仍为0.05,将大于0.475的中心距离0.48代入abs(n-1/2),则该占比等于(1/2-0.48)/1/2×0.05,其最终占比数值为0.8。再根据占比μ修正纹理像素的阿尔法通道的数值采用如下公式计算:α1=α0×μ其中,α1为修正后的纹理像素的阿尔法通道的值;α0为修正前的纹理像素的阿尔法通道的值;μ为边缘距离占反锯齿带宽度的占比,0≤μ≤1。在图像处理领域采用阿尔法通道记录透明度信息,因此本申请通过修正边缘像素的透明度信息,获得平滑边缘。阿尔法通道的取值根据实际应用情况可采用1位来表示,也可以采用8为表示或以其他位数表示。当阿尔法通道采样1位时,只能表示透明或不透明;当阿尔法通道采样8位时,可表示256级的透明度。具体地,本申请的基于纹理贴图的抗锯齿方法可应用于采用OpenGL处理图像的情况。如在OpenGL渲染流程的片段操作阶段可以对用户界面贴图的颜色值的透明度进行修正。首先定义一个反锯齿因子即需要渐变的像素比例,比如设定为0.05,然后计算贴图像素到贴图中心的距离和基准边缘距离,根据该中心距离和基准本文档来自技高网...

【技术保护点】
一种基于纹理贴图的抗锯齿方法,其特征在于,所述方法包括:设定反锯齿因子;获取各纹理像素,分别判断各所述纹理像素是否为边缘像素,并确定所述纹理像素所在边缘的边界线;若是边缘像素,则计算所述纹理像素到所述边界线的边缘距离占反锯齿带宽度的占比,并根据所述占比修正所述纹理像素的阿尔法通道的数值,使得经纹理贴图处理的图像边缘的平滑;其中,所述反锯齿带宽度根据所述反锯齿因子计算获得。

【技术特征摘要】
1.一种基于纹理贴图的抗锯齿方法,其特征在于,所述方法包括:设定反锯齿因子;获取各纹理像素,分别判断各所述纹理像素是否为边缘像素,并确定所述纹理像素所在边缘的边界线;若是边缘像素,则计算所述纹理像素到所述边界线的边缘距离占反锯齿带宽度的占比,并根据所述占比修正所述纹理像素的阿尔法通道的数值,使得经纹理贴图处理的图像边缘的平滑;其中,所述反锯齿带宽度根据所述反锯齿因子计算获得。2.根据权利要求1所述的方法,其特征在于,所述分别判断各所述纹理像素是否为边缘像素包括:分别计算所述纹理像素到纹理贴图的列向或行向中心线的中心距离;根据所述反锯齿因子计算生成基准边缘距离;分别比较各所述中心距离和所述基准边缘距离,若所述中心距离大于等于所述基准边缘距离则确定为边缘像素。3.根据权利要求2所述的方法,其特征在于,所述基准边缘距离采用如下公式计算获得:m=1/2×(1-f)其中,m为基准边缘距离;f为反锯齿因子,0<f<1。4.根据权利要求1所述的方法,其特征在于,所述占比采用如下公式:μ=(1/2-abs(n-1/2))/1/2×f其中,μ为边缘距离占反锯齿带宽度的占比,公式中分母部分的1/2×f的数值为反锯齿带宽度;n为所述纹理像素的横坐标值或纵坐标值,0≤n≤1,公式中的abs(n-1/2)为大于所述基准边缘距离的中心距离;f为反锯齿因子,0<f<1。5.根据权利要求1所述的方法,其特征在于,所述根据所述占比修正所述纹理像素的阿尔法通道的数值采用如下公式:α1=α0×μ其中,α1为修正后的纹理像素的阿尔法通道的值;α0为修正前的纹理像素的阿尔法通道的值;μ为所述边缘距离占反锯齿带宽度的占比。6.根据权利要求1-5任一所述的方法,其特征在于,所述反锯齿因子f的数值范围为:0.01≤f≤0.05。7.一种基于纹理贴图的抗锯齿系统,其特征在于,所述系统包括:反锯齿因子设定装置,...

【专利技术属性】
技术研发人员:王雷刘享军
申请(专利权)人:北京暴风魔镜科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1