CN115738255A - 抗锯齿渲染方法及装置、电子设备、存储介质 - Google Patents
抗锯齿渲染方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN115738255A CN115738255A CN202211557540.0A CN202211557540A CN115738255A CN 115738255 A CN115738255 A CN 115738255A CN 202211557540 A CN202211557540 A CN 202211557540A CN 115738255 A CN115738255 A CN 115738255A
- Authority
- CN
- China
- Prior art keywords
- pixel
- information
- target
- target model
- original
- 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.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本申请提供了一种抗锯齿渲染方法及装置、电子设备、存储介质,其中,方法包括:获取目标模型渲染过程中各个像素的原始AO信息和顶点色信息,其中,目标模型的缝隙区域对应该的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;根据顶点色信息对对应的原始AO信息进行处理,得到目标AO信息;目标模型的缝隙区域对应的像素的目标AO信息的值小于对应的原始AO信息的值;基于目标AO信息对目标模型进行渲染处理。本申请实施例只需要通过简单计算,即可以削弱缝隙的间接光强度,起到抗锯齿效果,因此,还可以减少抗锯齿过程中的性能消耗。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及抗锯齿渲染方法及装置、电子设备、存储介质。
背景技术
在游戏渲染中,锯齿的来源是因为场景的定义在三维空间中是连续的,而最终显示的像素则是一个离散的二维数组。所以判断一个点有没有被某个像素覆盖的时候单纯是一个“有”或者“没有"问题,丢失了连续性的信息,导致锯齿的出现。
现有技术中抗锯齿的解决方案一般都是通过后处理的方式进行效果优化,通过柔化锯齿边缘,增加过渡来消弱锯齿感,性能消耗比较大。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
鉴于上述问题,提出了本申请以便提供克服上述问题或者至少部分地解决上述问题的抗锯齿渲染方法及装置、电子设备、存储介质,包括:
一种抗锯齿渲染方法,所述方法包括:
获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息和顶点色信息,其中,所述目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;
根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息,所述目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值;
基于所述各个像素的目标AO信息渲染所述目标模型。
一种抗锯齿渲染装置,所述装置包括:
信息获取模块,用于获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息和顶点色信息,其中,所述目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;
信息处理模块,用于根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息,所述目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值;
模型渲染模块,用于基于所述各个像素的目标AO信息渲染所述目标模型。
一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的抗锯齿渲染方法。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的抗锯齿渲染方法。
本申请具有以下优点:
在本申请实施例中,获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息和顶点色信息,其中,目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;根据各个像素的顶点色信息对对应的原始AO信息进行处理,得到各个像素的目标AO信息,目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值;基于各个像素的目标AO信息渲染目标模型。本申请实施例中目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同,根据顶点色信息对原始AO信息进行处理,得到的目标AO信息,其中,缝隙区域对应的像素的目标AO信息的值小于对应的原始AO信息的值,可以削弱缝隙的间接光强度,起到抗锯齿效果。本申请实施例只需要通过简单计算,即可实现抗锯齿效果,因此,还可以减少抗锯齿过程中的性能消耗。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为线段未经抗锯齿处理的图像示意图;
图2为现有抗锯齿技术中分摊采样的示意图;
图3为相邻帧的像素存在遮挡问题的示意图;
图4为现有抗锯齿技术的处理流程示意图;
图5为本申请实施例的一种抗锯齿渲染方法的步骤流程图;
图6为本申请一实施例的一种抗锯齿渲染方法实现的抗锯齿效果示意图;
图7为本申请另一实施例的一种抗锯齿渲染方法实现的抗锯齿效果示意图;
图8为本申请实施例的一种抗锯齿渲染装置的结构框图;
图9为本申请实施例的一种电子设备的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在计算机图形中,渲染是指将三维场景中的物体模型,按照设定好的环境、材质、光照及渲染参数,二维投影成数字图像的过程。也就是将三维的光能传递处理转换为一个二维图像的过程。场景和实体用三维形式表示,更接近于现实世界,便于操纵和变换。
锯齿现象是指显示器中显示的图像边缘会出现凹凸锯齿,如图1所示,图1中的线段两侧不平整,出现了明显凹凸锯齿。
锯齿现象会影响图像的显示效果,为了消除图像锯齿感,现有技术中一般都是通过后处理的方式进行效果优化,通过柔化锯齿边缘,增加过渡来消弱锯齿感。
具体地,现有技术中一般采用TAA(Temporal Anti-Aliasing,时间抗锯齿)的方式来达到抗锯齿的效果。TAA也可以称为帧间抗锯齿,是通过加权混合相邻多帧达到抗锯齿效果,从理论上解释就是将计算量分摊至多帧的超采样。
帧间抗锯齿技术的核心思想就是将运算量分摊至多帧,如图2所示,任意一帧只计算一个像素,随着t帧的累积,就有t个采样像素,再混合结果,就相当于做了t个子像素的超采样。当然,每帧中像素需要做一定的抖动,不然不同帧相同位置的像素值就完全一样,也就没有了分摊多帧的意义。通过对像素分摊至多帧的超采样,来提高采样效率,达到缓解锯齿的目的。
发明人发现尽管通过分摊超采样的方法,将计算量分摊到了不同帧,但是保存多帧也是不切实际的。因此,发明人想到可以只混合相邻两帧,为便于区分,将待混合的相邻两帧分别记为当前帧和历史帧。若当前帧的像素值是st(p),前t-1帧的历史帧像素是ft-1(πt-1(p)),将它们加权混合就得到分摊多帧超采样得到的结果,如等式(1)所示,称这种方法为指数平滑滤波,其中,α是一个加权值,称为指数平滑系数,可以是一个固定值,也可以是一个自适应变化的值。
ft(p)=(α) st(p)+(1-α) ft-1(πt-1(p)) 等式(1)
在实际应用中,画面并不是完全静止的,镜头在运动、模型在动,例如当前帧模型上的一个像素位于(100,520),它在历史帧对应的位置可能是(99,530)。那么,就需要计算当前帧像素在历史帧所处的位置,这个过程称为重投影。如果只有镜头在动,那通过镜头的变换矩阵就可以计算出历史帧的位置;但是如果模型本身也在动,就需要计算模型顶点在当前帧与历史帧的位置差值,这个差值称之为运动矢量,可以把场景内运动模型的运动矢量存储在一个缓存中,这个缓存就称为速度缓存。重投影是基于当前帧和历史帧的视图投影矩阵与速度缓存,推算出屏幕上当前帧像素的位置p在历史帧对应位置πt-1(p)的过程。
至此,已经得到当前帧像素在历史帧中的位置,也就可以根据历史帧采样到历史帧像素值ft-1(πt-1(p))。但是,由于每帧渲染时有像素抖动、模型运动、渲染环境变化(例如光照条件)等,它们会导致渲染结果发生变化,此时得到的历史帧像素就可能不具参考性。如图3所示,当前帧位置p的像素,在历史帧对应位置的像素被遮挡住了,那么重投影得到的历史帧像素与当前帧像素无法对应。那么,就需要一个验证历史帧像素并修正的阶段,修正历史帧像素值,再将它代入等式(1)算出最终结果。相反,如果不对历史帧像素进行修正,就可能会出现鬼影现象。
帧间抗锯齿技术的流程如图4所示。对镜头进行抖动,渲染场景至主缓存中;如果模型发生运动,需要将渲染运动模型的运动矢量存至速度缓存。在一个TAA的后处理历程中,通过重投影获取当前帧像素在历史帧中的位置,获取历史帧像素,验证并修正历史帧像素,将历史帧像素和当前帧像素根据等式(1)加权混合,输出结果。
可见,帧间抗锯齿技术的计算流程相对复杂,并且对于运动物体的处理存在瑕疵,需要进一步计算像素偏移的向量,并存入缓存,进行进一步的修正,计算量大,性能消耗大,对运行设备的要求高,适用范围小,更难以在移动终端中运行。
鉴于此,本申请实施例提供了一种抗锯齿渲染方法,预先将目标模型的边缘区域的顶点色信息记为0,在渲染目标模型的过程中,采用目标模型对应的各个像素的顶点色信息对对应的原始屏蔽光遮蔽AO信息进行处理,得到各个像素的目标AO信息,再基于目标AO信息对目标模型进行渲染处理,以削弱目标模型的缝隙处的间接光强度,对渲染得到的目标模型图像起到抗锯齿效果,计算简单,性能消耗低。
参照图5,示出了本申请一实施例提供的一种抗锯齿渲染方法的步骤流程图,该抗锯齿渲染方法可以运行于本地终端设备或者是服务器。本地终端设备可以包括但不限于智能手机、台式电脑、平板电脑、笔记本电脑、车载中控等电子设备。服务器可以用于为本地终端设备提供后台服务。其中,服务器可以是一个独立运行的服务器,也可以是分布式服务器,还可以是由多个服务器组成的服务器集群。当信息处理方法运行于服务器时,该信息处理方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,抗锯齿渲染方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,第一终端设备、电视机、计算机、掌上电脑等;但是抗锯齿渲染方法的为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
在一可选的实施方式中,以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备运行游戏程序,该游戏程序可以是需要下载安装的游戏程序,也可以时即点即用的游戏程序等。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
在本申请实施例中,该方法可以包括如下步骤:
步骤501,获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息和顶点色信息,其中,所述目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同。
步骤502,根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息,所述目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值。
步骤503,基于所述各个像素的目标AO信息渲染所述目标模型。
本申请实施例通过获取目标模型渲染过程中各个像素的原始AO信息和顶点色信息,其中,目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;根据顶点色信息对对应的原始AO信息进行处理,得到目标AO信息;目标模型的缝隙区域对应的像素的目标AO信息的值小于对应的原始AO信息的值;基于目标AO信息对目标模型进行渲染处理。本申请实施例通过对目标模型的缝隙区域的顶点色和其他区域的顶点色进行区分设置,再根据目标模型渲染过程中各个像素的顶点色信息对原始AO信息进行处理,得到的目标AO信息,其中,缝隙区域对应的像素的目标AO信息小于对应的原始AO信息,可以削弱缝隙的间接光强度,起到抗锯齿效果。本申请实施例只需要通过简单计算,即可实现抗锯齿效果,因此,还可以减少抗锯齿过程中的性能消耗。
下面,将对本示例性实施例中抗锯齿渲染方法作进一步地说明。
在步骤501中,获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息和顶点色信息,其中,所述目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同。
目标模型的渲染过程即是将三维目标模型投影成二维目标模型图像的过程。目标模型渲染过程中的像素即是构成目标模型图像的像素。目标模型渲染过程中各个像素的原始AO信息可以从目标模型的AO贴图中采样得到。AO贴图即环境光遮蔽贴图,是一张灰度图,用于记录模型受环境光遮蔽的信息,AO贴图的颜色越白,表示模型受环境光越强,即环境光被屏蔽的程度越弱;AO贴图的颜色越黑,表示模型受环境光越弱,即环境光被屏蔽的程度越强。也就是说,本申请实施例中,从目标模型的AO贴图中采样得到目标模型渲染过程中各个像素的原始AO信息,该原始AO信息即为AO贴图中对应的像素的颜色值。本实施例中的AO贴图可以是通过对目标模型进行常规烘焙得到的。
本申请实施例在制作目标模型的过程中,需要将目标模型的缝隙区域对应的顶点色和目标模型中除缝隙区域外的其他区域对应的顶点色进行区分设置。本申请实施例中,目标模型渲染过程中各个像素的顶点色信息可以通过获取目标模型的顶点色,并对顶点色进行插值处理得到。根据目标模型渲染过程中各个像素的顶点色信息对对应的原始AO信息进行处理,使缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值,以削弱缝隙区域的间接光。为了便于描述,将缝隙区域对应的像素的顶点色信息记为缝隙顶点色信息,除缝隙区域外的其他区域对应的像素的顶点色信息记为其他顶点色信息。
可选地,目标模型的缝隙区域对应的缝隙顶点色可以为0,其他区域的其他顶点色不为0;相应地,目标模型渲染过程中与缝隙区域对应的像素的缝隙顶点色信息为0,其他区域对应的像素的其他顶点色信息不为0。
可选地,缝隙顶点色信息为0,其他顶点色信息为1。
在步骤502中,根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息,所述目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值。
在获取到目标模型渲染过程中各个像素的原始AO信息和顶点色信息后,根据各顶点色信息对原始AO信息进行处理。由于缝隙顶点色信息和其他顶点色信息不同,通过将缝隙顶点色信息与其他顶点色信息进行区分,可以实现通过顶点色信息减弱缝隙区域对应像素的原始AO信息的值,进而削弱缝隙区域的间接光,减少锯齿感。
在本申请一些可选实施例中,缝隙顶点色信息为0,其他顶点色信息不为0。上述根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息的过程,可以包括:
将所述各个像素的顶点色信息与对应的原始AO信息相乘,得到所述各个像素的目标AO信息。
本实施例在获得目标模型渲染过程中各个像素的顶点色信息和原始AO信息后,将各个像素的顶点色信息与对应的原始AO信息相乘,得到各个像素的目标AO信息。由于缝隙区域对应的各个像素的缝隙顶点色信息为0,其原始AO信息与0相乘后,得到的值为0,即目标模型的缝隙区域对应的像素的目标AO信息的值为0,可以最大程度地削弱缝隙区域的间接光,可以削弱缝隙区域高光产生的锯齿。
优选地,在本实施例中,缝隙顶点色信息为0,其他顶点信息为1。对
于目标模型的其他区域对应的像素,当其原始AO信息与1相乘后,得到的5值还是本身,即目标模型的其他区域对应的像素的目标AO信息保持原始AO信息,不仅可以简化计算,还可以确保其他区域不被影响。
在本申请另一些可选实施例中,缝隙顶点色信息为0,其他顶点色信息不为0。上述根据所述各个像素的顶点色信息对对应的原始AO信息进行处
理,得到所述各个像素的目标AO信息的过程,可以包括:0对所述各个像素的顶点色信息取反;
将所述各个像素的原始AO信息与对应的取反后的顶点色信息相减,并将相减结果规范到[0,1]之间,得到各个像素的目标AO信息。
本实施例中,先对顶点色信息取反,即用1减去顶点色信息。当顶点色
信息为0时,取反后的顶点色信息为1;当顶点色信息为1时,取反的顶点5色信息为0。
通过对顶点色信息取反,得到取反后的边缘顶点色信息为1,取反后的其他顶点色信息不为1。
将目标模型渲染过程中各个像素的原始AO信息与对应的取反后的顶点
色信息相减,即用原始AO信息的值减去对应取反后的顶点色信息的值。由0于缝隙区域对应的像素,其取反后的缝隙顶点色信息为1,因此,位于目标模型的缝隙区域对应的像素的原始AO信息减1后,得到的值小于或等于0;通过进一步将相减结果规范到[0,1]之间,可以得到,目标模型的缝隙区域对应的像素的原始AO信息减1后,得到的值为0,即目标模型渲染过程中
与缝隙区域对应的像素的目标AO信息为0,可以最大程度地削弱缝隙区域5的间接光,可以削弱缝隙区域高光产生的锯齿。
优选地,在本实施例中,其他区域对应的其他顶点信息为1,则取反后的其他顶点信息为0。对于目标模型的其他区域对应的像素,当其原始AO信息减去0后,得到的值还是本身,即目标模型的其他区域对应的像素的目标AO信息保持原始AO信息,不仅可以简化计算,还可以确保其他区域不被影响。
在本申请另一些可选实施例中,缝隙顶点色信息为1,其他顶点色信息不为1。上述根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息的过程,可以包括:
将所述各个像素的原始AO信息与对应的顶点色信息相减,并将相减结果规范到[0,1]之间,得到所述各个像素的目标AO信息。
由于缝隙区域对应的像素的缝隙顶点色信息为1,因此,对于目标模型的缝隙区域对应的像素,当其原始AO信息减1后,得到的值小于或等于0;通过进一步将相减结果规范到[0,1]之间,可以得到,目标模型的缝隙区域对应的像素,当其原始AO信息减1后,得到的值为0,即目标模型的缝隙区域对应的像素的目标AO信息为0,可以最大程度地削弱缝隙区域的间接光,可以削弱缝隙区域高光产生的锯齿。
优选地,在本实施例中,其他区域对应的其他顶点信息为0。对于目标模型的其他区域对应的像素,当其原始AO信息减去0后,得到的值还是本身,即目标模型的其他区域对应的像素的目标AO信息保持原始AO信息,不仅可以简化计算,还可以确保其他区域不被影响。
在步骤503中,基于所述各个像素的目标AO信息渲染所述目标模型。
由于缝隙区域对应的像素的目标AO信息的值小于对应的原始AO信息的值,因此,在对目标模型进行渲染的过程中,基于目标AO信息对目标模型进行渲染处理时,可以削弱目标模型的缝隙区域的间接光,弱化渲染得到的目标模型图像的锯齿现象,实现抗锯齿的效果。
如图6所示,图6左侧是基于原始AO信息渲染得到的原始目标模型图像,右侧是基于目标AO信息渲染得到的目标模型图像,对比可见,目标模型图像的缝隙处的锯齿感明显减弱。
本申请实施例通过获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息以及目标模型渲染过程中各个像素的顶点色信息,其中,目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;根据各个像素的顶点色信息对对应的原始AO信息进行处理,得到各个像素的目标AO信息,目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值;基于各个像素的目标AO信息渲染目标模型;可以削弱缝隙的间接光强度,起到抗锯齿效果。本申请实施例只需要通过简单计算,即可实现抗锯齿效果,因此,还可以减少抗锯齿过程中的性能消耗。
进一步地,在本申请一些可选实施例中,上述方法还可以包括:
获取所述目标模型渲染过程中各个像素的世界空间法线。
根据所述世界空间法线确定所述目标模型对应的边缘遮罩;
根据所述边缘遮罩更新所述各个像素对应的粗糙度;
基于更新后的粗糙度渲染所述目标模型。
法线是描述三维模型的曲面和曲率的向量。在实时渲染中,在三维模型上进行光照和明暗处理计算都需要法线向量。本申请实施例中,获取目标模型渲染过程中各个像素的世界空间法线,可以通过片元着色器对目标模型的法线纹理进行采样,得到切线空间下的法向量,再通过顶点着色器中构建的变换矩阵,将法向量变换到世界空间,即得到目标模型渲染过程中各个像素的世界空间法线。
通过各个像素的世界空间法线可以确定相邻像素所在面之间的角度变化,进而确定出目标模型中容易出现高光锯齿的区域,即边缘区域,得到边缘遮罩,该边缘遮罩是二维图像,边缘遮罩的各像素与目标模型渲染过程中的各像素一一对应,即目标模型渲染过程中的每个像素都可以在边缘遮罩中找到对应的像素值。目标模型渲染过程中的每个像素都具有对应的粗糙度,该粗糙度会影响对应像素的呈现效果。在得到边缘遮罩后,根据边缘遮罩更新目标模型渲染过程中各个像素对应的粗糙度,再基于更新后的粗糙度对目标模型进行渲染,以更新生成的目标模型图像。
需要说明的是,在基于目标AO信息对目标模型进行渲染,生成目标模型图像的过程中也需要使用到各个像素对应的粗糙度,本实施例所述的基于更新后的粗糙度渲染目标模型,是指在渲染过程中进一步调整了目标模型对应的各个像素对应的粗糙度。也就是说,本实施例并不一定要对目标模型进行两次渲染,可以只进行一次渲染,在一次渲染过程中直接基于各个像素的目标AO信息和更新后的粗糙度对目标模型进行渲染显示。
本实施例利用世界空间法线得到边缘遮罩,用于区分目标模型中容易出现高光锯齿的区域,再通过调整该区域的粗糙度,以削弱边缘高光,进而实现抗锯齿的效果。
在本申请一可选实施例中,上述根据所述世界空间法线确定所述目标模型对应的边缘遮罩,可以包括:
计算所述世界空间法线的偏导结果;
根据大于预设偏导结果的目标偏导结果确定目标模型对应的边缘遮罩。
本实施例中,通过计算世界空间法线的偏导结果,根据偏导结果与预设偏导结果的大小关系,可以筛选出大于预设偏导结果的目标偏导结果,即筛选出目标模型渲染过程中世界空间法线变化剧烈的像素,该目标偏导结果对应的像素可以认为是目标模型的边缘位置对应的边缘像素。通过目标偏导结果对应的像素来确定边缘遮罩,该边缘遮罩用于区分目标模型中容易出现高光锯齿的区域。
示例性地,可以将边缘遮罩中与边缘像素对应的像素值记为1,将其他像素的像素值记为0。
相应地,上述根据所述边缘遮罩更新所述各个像素对应的粗糙度,可以是从目标模型对应的像素中,确定出与边缘遮罩中像素值为1的像素对应的目标像素,将目标像素的粗糙度增大预设值,并将增大后的粗糙度规范到[0,1]之间。该预设值可以是一个固定值,也可以是动态值,例如,预设值可以是0.5,或者,预设值等于目标像素的粗糙度与预设系数的乘积等。
在本申请一可选实施例中,上述根据所述世界空间法线确定所述目标模型对应的边缘遮罩,可以包括:
计算所述世界空间法线的偏导结果;
将两份所述偏导结果进行点乘,并将点乘结果规范到[0,1]之间;
将规范后的点乘结果确定为所述目标模型对应的边缘遮罩。
在本实施例中,可以利用HLSL函数fwidth,计算世界空间法线的偏导结果,该偏导结果用dN表示,对应的计算公式如下:
float3dN=fwidth(WorldNormal);
其中,WorldNormal表示世界空间法线,float3为一种三维数据类型。
在得到世界空间法线的偏导结果后,由于偏导结果是三维的,信息存储在三个通道内,无法直接作为遮罩,因此,在本实施例中,对偏导结果进行点乘运算,具体地,用偏导结果点乘偏导结果,再采用saturate函数,将点乘结果规范到[0,1]之间,从而得到一维的边缘遮罩。对应的计算公式如下:
float M=saturate(dot(dN,dN));
其中,M表示边缘遮罩,float为一种一维数据类型。
相应地,上述根据所述边缘遮罩更新所述各个像素对应的粗糙度,可以包括:
根据所述边缘遮罩确定所述各个像素对应的粗糙度变化值;
将所述各个像素对应的原始粗糙度与对应的粗糙度变化值相加,并将相加结果规范到[0,1]之间;
根据规范后的相加结果更新所述各个像素对应的粗糙度。
本实施例中,目标模型渲染过程中的各个像素对应的粗糙度变化值与边缘遮罩中对应的像素的像素值相关。在一示例中,可以将所述边缘遮罩中各个像素值作为所述目标模型渲染过程中对应像素的粗糙度变化值;为了使筛选出的高光区域更加精确,在另一示例中,可以将所述边缘遮罩中各个像素值的平方作为所述目标模型渲染过程中对应像素的粗糙度变化值。当然,本实施例根据边缘遮罩确定目标模型渲染过程中各个像素对应的粗糙度变化值并不限于上述两个示例,还可以是将边缘遮罩中各个像素值与预设系数的乘积作为目标模型渲染过程中对应像素的粗糙度变化值等。
在确定目标模型渲染过程中各个像素对应的粗糙度变化值后,将各个像素的原始粗粗糙度与对应的粗糙度变化值相加,由于粗糙度的取值范围是[0,1],因此,需要将相加结果规范到[0,1]之间作为对应像素的更新后的粗糙度。对应的计算公式如下:
Roughness=saturate(Roughness+M*M);
其中,Roughness表示粗糙度。
本申请实施例通过获取目标模型渲染过程中各个像素的世界空间法线,根据世界空间法线的偏导结果确定目标模型对应的边缘遮罩,以对目标模型存在高光的边缘区域进行筛选处理,再利用边缘遮罩修改目标模型渲染过程中的各个像素的粗糙度,增大高光区域的粗糙度,以减少剧烈的高光变化,从而实现抗高光锯齿的效果。
进一步地,在本申请一些可选实施例中,考虑到在对车辆进行渲染时,为了模拟真实的车辆表面光照效果,通常需要对车漆进行分层建模,通过不同的分量模拟底漆层、亮片层、清漆层等各物理层的光照效果并进行叠加,因此,当目标模型为车辆模型时,该目标模型对应有清漆层,因此,所述目标模型渲染过程中的各个像素对应有清漆厚度,在模型渲染过程中,也需要基于清漆厚度进行渲染,即该清漆厚度也会影响对应像素的呈现效果,因此,该方法还可以包括:
根据边缘遮罩更新所述各个像素对应的清漆厚度。
在本实施例中,边缘遮罩可以筛选出目标模型中存在高光的边缘区域,针对该边缘区域对应的像素,除了增加粗糙度外,还可以减少边缘区域对应像素的清漆厚度,以减少清漆层带来的高光,减少产生高光锯齿。
在一示例中,可以根据边缘遮罩确定目标模型渲染过程中的边缘像素,进而将边缘像素对应的清漆厚度减少预设厚度,并将减少后的清漆厚度规范到[0,1]之间。该预设厚度可以是一个固定值,也可以是动态值,例如,预设厚度可以是0.2,或者,预设值等于边缘像素的清漆厚度与预设厚度系数的乘积等。
在另一示例中,可以对所述边缘遮罩的各个像素的像素值进行取反,得到取反遮罩;将所述目标模型渲染过程中的各个像素对应的原始清漆厚度与所述取反遮罩对应的像素值相乘,以更新所述目标模型渲染过程中各个像素的清漆厚度。
其中,对边缘遮罩的各个像素的像素值进行取反,即用1减去边缘遮罩的像素值。当像素值为0时,取反后的像素值为1;当像素值为1时,取反的像素值为0。将目标模型渲染过程中的各个像素对应的原始清漆厚度与取反遮罩对应的像素值相乘,得到目标模型渲染过程中的各个像素对应的更新后的清漆厚度。对应的计算公式如下:
Clearcoat=Clearcoat*(1-M);
其中,Clearcoat表示清漆厚度。
一般地,边缘遮罩中与边缘区域对应的像素的像素值为1或接近1,非边缘区域对应的像素的像素值为0或接近0;对应的,取反遮罩中与边缘区域对应的像素的像素值为0或接近0,非边缘区域对应的像素的像素值为1或接近1。对于目标模型渲染过程中与边缘区域对应的像素,其原始清漆厚度与取反遮罩中对应的像素的像素值相乘后,得到的值为0或接近0,即更新后的清漆厚度小;而对于目标模型渲染过程中与非边缘区域对应的像素,其原始清漆厚度与取反遮罩中对应的像素的像素值相乘后,得到的值保持原始清漆厚度或略小于原始清漆厚度,即更新后的清漆厚度基本保持不变;从而可以削弱边缘区域的清漆厚度,减少光滑的清漆带来的高光。
在另一示例中,也可以不对边缘遮罩的各个像素的像素值取反,而是将所述目标模型渲染过程中各个像素的原始清漆厚度与所述边缘遮罩对应的像素值相乘,得到厚度变化值;将所述目标模型渲染过程中各个像素的原始清漆厚度减去对应的厚度变化值,以更新所述目标模型渲染过程中各个像素对应的清漆厚度。对应的计算公式如下:
Clearcoat=Clearcoat-Clearcoat*M。
一般地,边缘遮罩中与边缘区域对应的像素的像素值为1或接近1,非边缘区域对应的像素的像素值为0或接近0。对于目标模型渲染过程中与边缘区域对应的像素,其原始清漆厚度与边缘遮罩中对应的像素的像素值相乘后,得到的厚度变化值为原始清漆厚度或接近原始清漆厚度,再将原始清漆厚度减去厚度变化值,得到的差值为0或接近0,即更新后的清漆厚度小;而对于目标模型渲染过程中与非边缘区域对应的像素,其原始清漆厚度与边缘遮罩中对应的像素的像素值相乘后,得到的厚度变化值为0或接近0,再将原始清漆厚度减去厚度变化值,得到的差值保持原始清漆厚度或略小于原始清漆厚度,即更新后的清漆厚度基本保持不变;从而可以削弱边缘区域的清漆厚度,减少光滑的清漆带来的高光。
本申请实施例通过边缘遮罩更新目标模型渲染过程中各个像素对应的清漆厚度,使边缘区域的清漆厚度减少,以减少边缘区域的清漆带来的高光,进而实现抗高光锯齿的效果。
如图7所示,图7左侧是基于原始AO信息渲染得到的原始目标模型图像,右侧是基于目标AO信息、更新后的粗糙度以及更新后的清漆厚度渲染得到的更新后的目标模型图像,对比可见,目标模型图像的缝隙和边缘处的锯齿感明显减弱。
在本申请一些可选实施例中,通过将目标模型的缝隙区域的顶点色调整为0,将其他区域的顶点色调整为1,再采用目标模型渲染过程中的各个像素的顶点色信息对对应的原始AO信息进行相乘,得到各个像素的目标AO信息,使得缝隙区域对应的像素的目标AO信息小于原始AO信息,其他区域对应的像素的目标AO信息等于原始AO信息,通过简单的计算即可削弱缝隙的间接光强度,起到抗锯齿的效果;进一步结合边缘遮罩,增大边缘区域对应的像素的粗糙度以及减少边缘区域对应的像素的清漆厚度,来减少边缘区域由于高光所产生的锯齿现象,进一步提高抗锯齿的效果。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图8,示出了本申请的一种抗锯齿渲染装置实施例的结构框图,与上述抗锯齿渲染方法实施例相对应,在本申请实施例中,该装置可以包括如下模块:
信息获取模块801,用于获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息和顶点色信息,其中,所述目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;
信息处理模块802,用于根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息;所述目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值;
模型渲染模块803,用于基于所述各个像素的目标AO信息渲染所述目标模型。
可选地,所述缝隙顶点色信息为0,所述其他顶点色信息为1;所述信息处理模块802,可以包括:
第一信息处理子模块,用于将所述各个像素的顶点色信息与对应的原始AO信息相乘,得到所述各个像素的目标AO信息。
可选地,所述装置还可以包括:
法线信息获取模块,用于获取所述目标模型渲染过程中各个像素的世界空间法线;
边缘遮罩确定模块,用于根据所述世界空间法线确定所述目标模型对应的边缘遮罩;
粗糙度更新模块,用于根据所述边缘遮罩更新所述各个像素对应的粗糙度;
更新渲染模块,用于基于更新后的粗糙度渲染所述目标模型。
可选地,所述边缘遮罩确定模块,可以包括:
偏导计算子模块,用于计算所述世界空间法线的偏导结果;
偏导点乘子模块,用于将两份所述偏导结果进行点乘,并将点乘结果规范到[0,1]之间;
遮罩确定子模块,用于将规范后的点乘结果确定为所述目标模型对应的边缘遮罩。
可选地,所述粗糙度更新模块,可以包括:
粗糙度变化值确定子模块,用于根据所述边缘遮罩确定所述各个像素对应的粗糙度变化值;
粗糙度相加子模块,用于将所述各个像素对应的原始粗糙度与对应的粗糙度变化值相加,并将相加结果规范到[0,1]之间;
粗糙度更新子模块,用于根据规范后的相加结果更新所述各个像素对应的粗糙度。
可选地,所述粗糙度变化值确定子模块,具体可以用于将所述边缘遮罩中各个像素值的平方作为所述目标模型渲染过程中对应像素的粗糙度变化值;或者,用于将所述边缘遮罩中各个像素值作为所述目标模型渲染过程中对应像素的粗糙度变化值。
可选地,当所述目标模型为车辆模型时,所述目标模型对应有清漆层,所述目标模型渲染过程中的各个像素对应有清漆厚度,所述装置还可以包括:
清漆厚度更新模块,用于根据所述边缘遮罩更新所述各个像素对应的清漆厚度。
可选地,所述清漆厚度更新模块,可以包括:
取反子模块,用于对所述边缘遮罩的各个像素的像素值进行取反,得到取反遮罩;
第一更新子模块,用于将所述各个像素对应的原始清漆厚度与所述取反遮罩对应的像素值相乘,以更新所述各个像素对应的清漆厚度;
可选地,所述清漆厚度更新模块,可以包括:
厚度变化确定子模块,用于将所述各个像素对应的原始清漆厚度与所述边缘遮罩对应的像素值相乘,得到厚度变化值;
第二更新子模块,用于将所述各个像素对应的原始清漆厚度减去对应的厚度变化值,以更新所述各个像素对应的清漆厚度。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图9,本申请实施例还公开了电子设备90,包括处理器901、存储器902及存储在所述存储器902上并能够在所述处理器901上运行的计算机程序903,所述计算机程序903被所述处理器901执行时实现如上所述的抗锯齿渲染方法的步骤,例如:
获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息和顶点色信息,其中,所述目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;
根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息,所述目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值;
基于所述各个像素的目标AO信息渲染所述目标模型。
可选地,所述缝隙顶点色信息为0,所述其他顶点色信息为1;所述根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息,包括:
将所述各个像素的顶点色信息与对应的原始AO信息相乘,得到所述各个像素的目标AO信息。
可选地,所述方法还包括:
获取所述目标模型渲染过程中各个像素的世界空间法线;
根据所述世界空间法线确定所述目标模型对应的边缘遮罩;
根据所述边缘遮罩更新所述各个像素对应的粗糙度;
基于更新后的粗糙度渲染所述目标模型。
可选地,所述根据所述世界空间法线确定所述目标模型对应的边缘遮罩,包括:
计算所述世界空间法线的偏导结果;
将两份所述偏导结果进行点乘,并将点乘结果规范到[0,1]之间;
将规范后的点乘结果确定为所述目标模型对应的边缘遮罩。
可选地,所述根据所述边缘遮罩更新所述各个像素对应的粗糙度,包括:
根据所述边缘遮罩确定所述各个像素对应的粗糙度变化值;
将所述各个像素对应的原始粗糙度与对应的粗糙度变化值相加,并将相加结果规范到[0,1]之间;
根据规范后的相加结果更新所述各个像素对应的粗糙度。
可选地,所述根据所述边缘遮罩确定所述各个像素对应的粗糙度变化值,包括:
将所述边缘遮罩中各个像素值的平方作为所述目标模型渲染过程中对5应像素的粗糙度变化值;
或者,
将所述边缘遮罩中各个像素值作为所述目标模型渲染过程中对应像素的粗糙度变化值。
可选地,当所述目标模型为车辆模型时,所述目标模型对应有清漆层,0所述目标模型渲染过程中的各个像素对应有清漆厚度,所述方法还包括:
根据所述边缘遮罩更新所述各个像素对应的清漆厚度。
可选地,所述根据所述边缘遮罩更新所述各个像素对应的清漆厚度,包括:
对所述边缘遮罩的各个像素的像素值进行取反,得到取反遮罩;5将所述各个像素对应的原始清漆厚度与所述取反遮罩对应的像素值相乘,以更新所述各个像素对应的清漆厚度;
或者,
将所述各个像素对应的原始清漆厚度与所述边缘遮罩对应的像素值相乘,得到厚度变化值;
0将所述各个像素对应的原始清漆厚度减去对应的厚度变化值,以更新所述各个像素对应的清漆厚度。上述实施方式,通过获取目标模型渲染过程中各个像素的原始AO信息和顶点色信息,其中,目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;根据
顶点色信息对对应的原始AO信息进行处理,得到目标AO信息;目标模型5的缝隙区域对应的像素的目标AO信息的值小于对应的原始AO信息的值;
基于目标AO信息对目标模型进行渲染处理。本申请实施例通过对目标模型的缝隙区域的顶点色和其他区域的顶点色进行区分设置,再根据目标模型渲染过程中各个像素的顶点色信息对原始AO信息进行处理,得到的目标AO信息,其中,缝隙区域对应的像素的目标AO信息小于对应的原始AO信息,可以削弱缝隙的间接光强度,起到抗锯齿效果。本申请实施例只需要通过简单计算,即可实现抗锯齿效果,因此,还可以减少抗锯齿过程中的性能消耗。
本申请实施例还公开了计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的抗锯齿渲染方法的步骤,例如:
获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息和顶点色信息,其中,所述目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;
根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息,所述目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值;
基于所述各个像素的目标AO信息渲染所述目标模型。
可选地,所述缝隙顶点色信息为0,所述其他顶点色信息为1;所述根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息,包括:
将所述各个像素的顶点色信息与对应的原始AO信息相乘,得到所述各个像素的目标AO信息。
可选地,所述方法还包括:
获取所述目标模型渲染过程中各个像素的世界空间法线;
根据所述世界空间法线确定所述目标模型对应的边缘遮罩;
根据所述边缘遮罩更新所述各个像素对应的粗糙度;
基于更新后的粗糙度渲染所述目标模型。
可选地,所述根据所述世界空间法线确定所述目标模型对应的边缘遮罩,包括:
计算所述世界空间法线的偏导结果;
将两份所述偏导结果进行点乘,并将点乘结果规范到[0,1]之间;
将规范后的点乘结果确定为所述目标模型对应的边缘遮罩。
可选地,所述根据所述边缘遮罩更新所述各个像素对应的粗糙度,包括:
根据所述边缘遮罩确定所述各个像素对应的粗糙度变化值;
将所述各个像素对应的原始粗糙度与对应的粗糙度变化值相加,并将相加结果规范到[0,1]之间;
根据规范后的相加结果更新所述各个像素对应的粗糙度。
可选地,所述根据所述边缘遮罩确定所述各个像素对应的粗糙度变化值,包括:
将所述边缘遮罩中各个像素值的平方作为所述目标模型渲染过程中对应像素的粗糙度变化值;
或者,
将所述边缘遮罩中各个像素值作为所述目标模型渲染过程中对应像素的粗糙度变化值。
可选地,当所述目标模型为车辆模型时,所述目标模型对应有清漆层,所述目标模型渲染过程中的各个像素对应有清漆厚度,所述方法还包括:
根据所述边缘遮罩更新所述各个像素对应的清漆厚度。
可选地,所述根据所述边缘遮罩更新所述各个像素对应的清漆厚度,包括:
对所述边缘遮罩的各个像素的像素值进行取反,得到取反遮罩;
将所述各个像素对应的原始清漆厚度与所述取反遮罩对应的像素值相乘,以更新所述各个像素对应的清漆厚度;
或者,
将所述各个像素对应的原始清漆厚度与所述边缘遮罩对应的像素值相乘,得到厚度变化值;
将所述各个像素对应的原始清漆厚度减去对应的厚度变化值,以更新所述各个像素对应的清漆厚度。上述实施方式,通过获取目标模型渲染过程中各个像素的原始AO信息和顶点色信息,其中,目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;根据顶点色信息对对应的原始AO信息进行处理,得到目标AO信息;目标模型的缝隙区域对应的像素的目标AO信息的值小于对应的原始AO信息的值;基于目标AO信息对目标模型进行渲染处理。本申请实施例通过对目标模型的缝隙区域的顶点色和其他区域的顶点色进行区分设置,再根据目标模型渲染过程中各个像素的顶点色信息对原始AO信息进行处理,得到的目标AO信息,其中,缝隙区域对应的像素的目标AO信息小于对应的原始AO信息,可以削弱缝隙的间接光强度,起到抗锯齿效果。本申请实施例只需要通过简单计算,即可实现抗锯齿效果,因此,还可以减少抗锯齿过程中的性能消耗。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种抗锯齿渲染方法及装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种抗锯齿渲染方法,其特征在于,所述方法包括:
获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息和顶点色信息,其中,所述目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;
根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息,所述目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值;
基于所述各个像素的目标AO信息渲染所述目标模型。
2.根据权利要求1所述的方法,其特征在于,所述缝隙顶点色信息为0,所述其他顶点色信息为1;所述根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息,包括:
将所述各个像素的顶点色信息与对应的原始AO信息相乘,得到所述各个像素的目标AO信息。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取所述目标模型渲染过程中各个像素的世界空间法线;
根据所述世界空间法线确定所述目标模型对应的边缘遮罩;
根据所述边缘遮罩更新所述各个像素对应的粗糙度;
基于更新后的粗糙度渲染所述目标模型。
4.根据权利要求3所述的方法,其特征在于,所述根据所述世界空间法线确定所述目标模型对应的边缘遮罩,包括:
计算所述世界空间法线的偏导结果;
将两份所述偏导结果进行点乘,并将点乘结果规范到[0,1]之间;
将规范后的点乘结果确定为所述目标模型对应的边缘遮罩。
5.根据权利要求4所述的方法,其特征在于,所述根据所述边缘遮罩更新所述各个像素对应的粗糙度,包括:
根据所述边缘遮罩确定所述各个像素对应的粗糙度变化值;
将所述各个像素对应的原始粗糙度与对应的粗糙度变化值相加,并将相加结果规范到[0,1]之间;
根据规范后的相加结果更新所述各个像素对应的粗糙度。
6.根据权利要求5所述的方法,其特征在于,所述根据所述边缘遮罩确定所述各个像素对应的粗糙度变化值,包括:
将所述边缘遮罩中各个像素值的平方作为所述目标模型渲染过程中对应像素的粗糙度变化值;
或者,
将所述边缘遮罩中各个像素值作为所述目标模型渲染过程中对应像素的粗糙度变化值。
7.根据权利要求5所述的方法,其特征在于,当所述目标模型为车辆模型时,所述目标模型对应有清漆层,所述目标模型渲染过程中的各个像素对应有清漆厚度,所述方法还包括:
根据所述边缘遮罩更新所述各个像素对应的清漆厚度。
8.根据权利要求6所述的方法,其特征在于,所述根据所述边缘遮罩更新所述各个像素对应的清漆厚度,包括:
对所述边缘遮罩的各个像素的像素值进行取反,得到取反遮罩;
将所述各个像素对应的原始清漆厚度与所述取反遮罩对应的像素值相乘,以更新所述各个像素对应的清漆厚度;
或者,
将所述各个像素对应的原始清漆厚度与所述边缘遮罩对应的像素值相乘,得到厚度变化值;
将所述各个像素对应的原始清漆厚度减去对应的厚度变化值,以更新所述各个像素对应的清漆厚度。
9.一种抗锯齿渲染装置,其特征在于,所述装置包括:
信息获取模块,用于获取目标模型渲染过程中各个像素的原始环境光遮蔽AO信息和顶点色信息,其中,所述目标模型的缝隙区域对应的像素的缝隙顶点色信息与其他区域对应的像素的其他顶点色信息不同;
信息处理模块,用于根据所述各个像素的顶点色信息对对应的原始AO信息进行处理,得到所述各个像素的目标AO信息;所述目标模型的缝隙区域对应的像素的目标AO信息的值小于原始AO信息的值;
模型渲染模块,用于基于所述各个像素的目标AO信息渲染所述目标模型。
10.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-8任一项所述的抗锯齿渲染方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的抗锯齿渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211557540.0A CN115738255A (zh) | 2022-12-06 | 2022-12-06 | 抗锯齿渲染方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211557540.0A CN115738255A (zh) | 2022-12-06 | 2022-12-06 | 抗锯齿渲染方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115738255A true CN115738255A (zh) | 2023-03-07 |
Family
ID=85343606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211557540.0A Pending CN115738255A (zh) | 2022-12-06 | 2022-12-06 | 抗锯齿渲染方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115738255A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116156089A (zh) * | 2023-04-21 | 2023-05-23 | 摩尔线程智能科技(北京)有限责任公司 | 处理图像的方法、装置、计算设备和计算机可读存储介质 |
CN116421970A (zh) * | 2023-06-12 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 虚拟对象的外装渲染方法、装置、计算机设备和存储介质 |
-
2022
- 2022-12-06 CN CN202211557540.0A patent/CN115738255A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116156089A (zh) * | 2023-04-21 | 2023-05-23 | 摩尔线程智能科技(北京)有限责任公司 | 处理图像的方法、装置、计算设备和计算机可读存储介质 |
CN116421970A (zh) * | 2023-06-12 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 虚拟对象的外装渲染方法、装置、计算机设备和存储介质 |
CN116421970B (zh) * | 2023-06-12 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 虚拟对象的外装渲染方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | A survey of temporal antialiasing techniques | |
Schied et al. | Spatiotemporal variance-guided filtering: real-time reconstruction for path-traced global illumination | |
CN115738255A (zh) | 抗锯齿渲染方法及装置、电子设备、存储介质 | |
US5809219A (en) | Analytic motion blur coverage in the generation of computer graphics imagery | |
CN108305228B (zh) | 图像处理方法、装置、存储介质及处理器 | |
EP1958185B1 (en) | Methods and apparatus for determining high quality sampling data from low quality sampling data | |
Herzog et al. | Spatio-temporal upsampling on the GPU | |
Yang et al. | Amortized supersampling | |
CN108965847B (zh) | 一种全景视频数据的处理方法及装置 | |
CN111742347A (zh) | 用于图像中的对象的动态照明 | |
Scherzer et al. | Temporal coherence methods in real‐time rendering | |
US6195099B1 (en) | Method for time based shadow rendering | |
US10991079B2 (en) | Using previously rendered scene frames to reduce pixel noise | |
CN113240783B (zh) | 风格化渲染方法和装置、可读存储介质、电子设备 | |
CN112184873A (zh) | 分形图形创建方法、装置、电子设备和存储介质 | |
WO2008014384A2 (en) | Real-time scenery and animation | |
Breslav et al. | Dynamic 2D patterns for shading 3D scenes | |
US11804008B2 (en) | Systems and methods of texture super sampling for low-rate shading | |
Ali et al. | Soft bilateral filtering shadows using multiple image-based algorithms | |
Park et al. | Painterly animation using motion maps | |
Haller et al. | A loose and sketchy approach in a mediated reality environment | |
EP2144200A1 (en) | Method and device for video processing to obtain watercolor effect | |
Lee et al. | Real-time Monte Carlo Denoising with Adaptive Fusion Network | |
Pérez et al. | Geometry-based methods for general non-planar perspective projections on curved displays | |
Zerari et al. | Screen space ambient occlusion based multiple importance sampling for real-time rendering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |