CN115984448A - 一种透明物模型渲染方法、装置、计算机设备和存储介质 - Google Patents
一种透明物模型渲染方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115984448A CN115984448A CN202211627506.6A CN202211627506A CN115984448A CN 115984448 A CN115984448 A CN 115984448A CN 202211627506 A CN202211627506 A CN 202211627506A CN 115984448 A CN115984448 A CN 115984448A
- Authority
- CN
- China
- Prior art keywords
- refraction effect
- effect information
- map
- transparent object
- coordinate
- 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
本发明实施例公开了一种透明物模型渲染方法、装置、计算机设备和存储介质;可根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量,获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息,基于第一UV坐标和材质捕捉贴图,得到目标外部折射效果信息,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型;可高效地渲染对各种透明物进行渲染,降低透明物的渲染难度,减少对计算资源的占用。
Description
技术领域
本发明涉及渲染技术领域,具体涉及一种透明物模型渲染方法、装置、计算机设备和存储介质。
背景技术
在一些虚拟场景中,有时会需要显示某些透明物,例如钻石、水晶、琥珀等。这些透明物可以通过光线折射、反射等物理现象,体现其材质特点,使得用户在看到这些透明物时能够有真实的视觉效果。
目前,在渲染透明物的光线相关的效果时,一般采用的是以光线追踪的方式模拟光线在透明物中的折射、反射、漫反射、间接反射等物理现象。但是采用这种渲染方式,在渲染时的计算量巨大,渲染时间长,影响渲染效率,且需要占用大量的计算资源。
发明内容
本发明实施例提供一种透明物模型渲染方法、装置、计算机设备和存储介质,可以高效地渲染对各种透明物进行渲染,降低透明物的渲染难度,减少对计算资源的占用。
本发明实施例提供一种透明物模型渲染方法,包括:
根据待渲染的透明物模型的模型法线向量和视线方向向量,计算所述透明物模型对应的反射方向向量;
根据所述反射方向向量,确定在所述透明物模型的材质捕捉贴图中用于采样的第一UV坐标;
获取所述透明物模型对应的内部基础折射效果贴图,基于所述内部基础折射效果贴图、所述第一UV坐标和所述材质捕捉贴图,得到所述透明物模型的目标内部折射效果信息;
基于所述第一UV坐标和所述材质捕捉贴图,得到所述透明物模型的目标外部折射效果信息;
基于所述目标内部折射效果信息和所述目标外部折射效果信息对所述透明物模型进行渲染,得到渲染后的透明物模型。
相应的,本发明实施例还提供一种透明物模型渲染装置,包括:
反射方向计算单元,用于根据待渲染的透明物模型的模型法线向量和视线方向向量,计算所述透明物模型对应的反射方向向量;
第一坐标确定单元,用于根据所述反射方向向量,确定在所述透明物模型的材质捕捉贴图中用于采样的第一UV坐标;
内部贴图生成单元,用于获取所述透明物模型对应的内部基础折射效果贴图,基于所述内部基础折射效果贴图、所述第一UV坐标和所述材质捕捉贴图,得到所述透明物模型的目标内部折射效果信息;
外部贴图生成单元,用于基于所述第一UV坐标和所述材质捕捉贴图,得到所述透明物模型的目标外部折射效果信息;
模型渲染单元,用于基于所述目标内部折射效果信息和所述目标外部折射效果信息对所述透明物模型进行渲染,得到渲染后的透明物模型。
相应的,本发明实施例还提供一种计算机设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行本发明实施例所提供的任一种透明物模型渲染方法中的步骤。
相应的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种透明物模型渲染方法中的步骤。
此外,本发明实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本发明实施例所提供的任一种透明物模型渲染方法中的步骤。
采用本发明实施例的方案,可以根据待渲染的透明物模型的模型法线向量和视线方向向量,计算该透明物模型对应的反射方向向量,根据该反射方向向量,确定在该透明物模型的材质捕捉贴图中用于采样的第一UV坐标,获取该透明物模型对应的内部基础折射效果贴图,基于该内部基础折射效果贴图、该第一UV坐标和该材质捕捉贴图,得到该透明物模型的目标内部折射效果信息,基于该第一UV坐标和该材质捕捉贴图,得到该透明物模型的目标外部折射效果信息,基于该目标内部折射效果信息和该目标内部折射效果信息对该透明物模型进行渲染,得到渲染后的透明物模型;由于在本发明实施例中,利用材质捕捉贴图和内部基础折射效果贴图,模拟出透明物模型内部和外部的复杂折射效果,因此,可以高效地渲染对各种透明物进行渲染,降低透明物的渲染难度,减少对计算资源的占用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的透明物模型渲染方法的场景示意图;
图2是本发明实施例提供的透明物模型渲染方法的流程图;
图3是本发明实施例提供的材质捕捉贴图的示意图;
图4是本发明实施例提供的采用第一UV坐标进行采样后的采样效果改进示意图;
图5是本发明实施例提供的光线反射原理示意图;
图6是本发明实施例提供的内部折射效果贴图的示意图;
图7是本发明实施例提供的基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染的流程示意图;
图8是本发明实施例提供的透明物模型渲染方法的流程图;
图9是本发明实施例提供的透明物模型渲染装置的结构示意图;
图10是本发明实施例提供的透明物模型渲染装置的另一结构示意图;
图11是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种透明物模型渲染方法、装置、计算机设备和计算机可读存储介质。具体地,本发明实施例提供适用于透明物模型渲染装置的透明物模型渲染方法,该透明物模型渲染装置可以集成在计算机设备中。
该计算机设备可以为终端等设备,包括但不限于移动终端和固定终端,例如移动终端包括但不限于智能手机、智能手表、平板电脑、笔记本电脑、智能车载等,其中,固定终端包括但不限于台式电脑、智能电视等。
该计算机设备还可以为服务器等设备,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
本发明实施例的透明物模型渲染方法,可以通过渲染引擎实现。具体的,渲染引擎可以设置在服务器中,也可以设置在终端中。
下面以渲染引擎设置在服务器中、终端和服务器共同实现该透明物模型渲染方法为例,对该方法进行说明。
如图1所示,本发明实施例提供的透明物模型渲染***包括终端10和服务器20等;终端10与服务器20之间通过网络连接,比如,通过有线或无线网络连接等,其中,服务器20可以作为对终端10发送的透明物模型显示请求作出响应的计算机设备存在。
其中,终端10可以用于响应于透明物模型的显示指令,生成透明物模型显示请求,将透明物模型显示请求发送给服务器20。
服务器20可以接收透明物模型显示请求,根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量,根据反射方向向量,确定在透明物模型的材质捕捉贴图中用于采样的第一UV坐标,获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息,基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
服务器20可以将渲染后的透明物模型发送给终端10,以使得终端10对渲染后的透明物模型进行显示。
可以理解的是,在一些实施例中,服务器20执行的透明物模型渲染的步骤也可以由终端10执行,本发明实施例对此不做限定。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本发明实施例将从透明物模型渲染装置的角度进行描述,该透明物模型渲染装置具体可以集成在服务器或终端中。
如图2所示,本实施例的透明物模型渲染方法的具体流程可以如下:
201、根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量。
其中,透明物模型可以是表现各类具有一定透明度的物体的模型。例如,透明物模型可以包括冰块、矿石、水晶、宝石、钻石、琥珀等,具体的透明物模型可以根据实际情况自行设定。
具体的,视线方向向量是用于表示视线方向的向量。其中,视线方向可以为预设的用户查看方向。在制作游戏的过程中,可以设置有摄像机,其中摄像机放置的朝向即为预设的用户查看方向,根据摄像机放置的位置以及角度的不同,可以从不同的方向查看游戏的对象,在实际游戏过程中,视线方向可以理解为垂直于显示游戏画面的屏幕的方向。
具体的,模型法线向量是用于表示法线方向的向量。一般的,目标游戏模型可以包含多个像素点,每一个像素点都对应有各自的法线方向,其中法线方向是指垂直于该像素点所在的平面的方向,一般的,法线向量可以是单位向量的形式。
例如,可以通过如下的HLSL代码实现反射方向向量的计算:
OUT.ViewDirection.xyz=WorldPosition.xyz-CameraPos.xyz;
float3 V=normalize(-OUT.ViewDirection.xyz);
float3 R=reflect(-V,OUT.WorldNormal.xyz);
其中,WorldPosition.xyz表示在世界中的真实位置,CameraPos.xyz表示摄像机位置,对二者相减得到的OUT.ViewDirection.xyz进行处理即可得到视线方向向量V,又可称为摄像机方向。
其中,OUT.WorldNormal.xyz为模型法线方向,-V表示入射光线方向,reflect用于计算折射方向,计算得到的反射方向向量R为在世界空间下的表示。
可选的,也可以将世界空间下表示的反射方向向量转换到View空间中。本发明实施例对反射方向向量所采取的表示方式不做限定。
202、根据反射方向向量,确定在透明物模型的材质捕捉贴图中用于采样的第一UV坐标。
其中,材质捕捉贴图可以为MatCap贴图。基于MatCap贴图,材质可以通过渲染一个球到纹理而被捕捉,渲染需要几何体、光源、材质、shader的共同参与。通过MatCap贴图可以将光源、材质信息直接烘焙到一张纹理上,渲染时直接使用。
例如,材质捕捉贴图可以如图3所示。
具体的,第一UV坐标可以是在不考虑其他效果直接对材质捕捉贴图进行采样时,材质捕捉贴图被采样的坐标点对应的UV坐标。如果直接使用第一UV坐标对材质捕捉贴图采样,相较于使用仅根据模型法线向量计算得到的常规的UV坐标进行采样,采样结果能够更好的体现材质捕捉贴图的材质效果。如图4所示,改进后(即采用第一UV坐标对材质捕捉贴图采样)采样结果中的信息更丰富。
这是由于,如图5所示,在平面AB上,每个点都有相同的法线N(EH、E1H1),因此,在原有的MatCap中,利用法线N去进行MatCap贴图的采样时,AB平面上会得到一个相同的结果,因此为纯色,不是所需要的效果。
但是,如果从摄像机观察位置G点出发,得到V1(GE1)和V2(GE),V1≠V2,因此由相同的N计算的反射向量,R1(E1C)≠R2(EI);在平面AB上,每个点的V都不相同,因此每个点利用N和V的信息计算出的R也不相同;利用R去采样MatCap得出的结果是不同且连续的,并且是所需要的。
因此,将MatCap贴图从原有的利用N的朝向,去采样作为diffuse的查找贴图,修改为利用R的方向采样,作为specular(反射)查找贴图,是更加合理的。
可选的,第一UV坐标在计算时可以基于视线方向向量V以及模型法线向量N,计算出反射方向向量R,此时的反射方向向量R为世界空间下的表示,再将R转换到View空间为RV,并进行归一化(normalize)处理,即可得到材质捕捉贴图对应的第一UV坐标。可以通过如下的代码计算第一UV坐标:
float3 RV=MulMat3x4(View,float4(R,0));
RV.y=-RV.y;
RV=normalize(RV);
OUT.MatcapCoords.xy=RV.xy;
其中,RV为在View空间中表示的反射方向向量,第一UV坐标即为MatcapCoords=RV.xy。
203、获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息。
在本发明实施例中,透明物模型的效果可以是基于高光Specular部分实现的,其中高光部分可以抽象得到内层高光InsideSpecular部分。具体的,内层高光可以是由光线穿透材质、不断折射形成的效果,通过内层高光中光线的折射效果,可以在一定程度上实现模拟透明物模型表面的复杂切割的闪烁效果。
其中,目标内部折射效果信息为对材质捕捉贴图进行采样得到的像素点的像素信息。在实时渲染过程中,目标内部折射效果信息可以是实时对材质捕捉贴图中某一UV坐标的像素点进行采样得到的像素信息。或者,在渲染透明物模型前如果预先准备好目标内部折射效果信息,此时,目标内部折射效果信息可以是若干个像素点的像素信息的集合的形式或者贴图的形式,等等。
在一些可选的实施例中,要表现透明物整体的材质效果和在此种材质下光线折射的效果,可以根据光线效果的信息对材质捕捉贴图进行采样,也就是说,步骤“基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息”,包括:
基于内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中用于采样的第二UV坐标;
通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息。
其中,内部折射效果贴图为模拟透明物模型内部折射信息的遮罩贴图。内部折射效果贴图中可以表现有光线的强度、光线的方向等。例如,内部折射效果贴图可以如图6所示。
具体的,在计算第二UV坐标时,可以利用内部折射效果贴图的若干个颜色深通道例如G通道和B通道,以及第一UV坐标,计算出在表现内部折射效果时对材质捕捉贴图采样的第二UV坐标InsideCoords。
例如,可以通过如下公式计算:
InsideCoords=(MatcapCoords.xy+ReflectionMask.gb*2-1)*0.5+0.5;
其中,MatcapCoords.xy为第一UV坐标,ReflectionMask.gb为内部折射效果贴图在G通道和B通道的颜色信息。
可以理解的是,在计算第二UV坐标时,也可以根据实际显示需求选择其他的颜色通道进行计算,计算公式中的2、1、0.5等计算参数也可以进行调整,本发明实施例对此不作限定。
在计算得到第二UV坐标InsideCoords后,可以使用InsideCoords,去采样材质捕捉贴图MatcapMap,基于采样结果得到目标内部折射效果信息InsideMatcap。
在一些可选的实施例中,为了使得最终的透明物模型的显示效果更好,可以预先将Matcap贴图烘焙成HDR格式,保留线性的颜色光照信息,使其能够在HDR的管线下表现出更加逼真的光照质感,步骤“通过第一UV坐标对材质捕捉贴图进行采样”之前,本发明实施例提供的透明物模型渲染方法还包括:
对原始材质捕捉贴图进行烘焙,得到包含光照信息的材质捕捉贴图,光照信息基于材质捕捉贴图中的光照信息通道存储,原始材质捕捉贴图中不包括光照信息通道。
例如,材质捕捉贴图可以是tga格式的,是有光照信息的HDR格式进行转换得到的。
具体的,烘焙时可以将原始材质捕捉贴图的信息存为16位的HDR格式,以保存更多的光照数据;然后,为了导入渲染引擎使用,利用RGBM的计算方式,将HDR格式的原始材质捕捉贴图转换为带有A通道的tga格式的材质捕捉贴图。
相应的,由于采样时的材质捕捉贴图为tga格式,tga的RGBA通道内存储的信息是在HDR格式的信息基础上进行计算转换得到的,因此,在完成采样后,为了提升颜色信息的准确性,也可以对采样结果进行计算,得到在HDR格式下存储的正确的颜色信息。即,步骤“通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息”,具体可以包括:
通过第二UV坐标对材质捕捉贴图进行采样,得到初始内部折射效果信息,初始内部折射效果信息包括光照信息通道的通道信息;
基于光照信息通道的通道信息,对初始内部折射效果信息进行颜色转换,得到透明物模型的目标内部折射效果信息。
例如,在渲染过程中,采样Matcap贴图之后,可以得到MatcapTexture.rgba,可以通过如下公式进一步计算最终颜色MatcapColor,得到目标内部折射效果信息。
MatcapColor=MatcapTexture.rgb*MatcapTexture.a*MatcapTexture.a*fMAX_RGBM_VALUE。
其中,MatcapTexture.a指的tga格式的贴图中A通道的值,即光照信息通道的通道信息。
其中,fMAX_RGBM_VALUE为输入最大亮度值,指目标内部折射效果信息内存入的最大亮度的范围。由于HDR格式的贴图是高动态范围的,需要转换成0~1的低动态范围的tga,而fMAX_RGBM_VALUE代表将HDR下的0~fMAX_RGBM_VALUE范围的数值转换到0~1范围内,代表了贴图转换时的转换范围的最大数值,这个数值在使用时可以根据需求更改,例如可以将其设置为32等等。
如图4所示,改进后的材质反射光照,能够更加真实的表现出超过1的亮度效果,有光晕表现。
可选的,为了提升渲染效果的多样性和真实性,在生成目标内部折射效果信息时,可以将内部折射效果贴图进行一定程度的扭曲,也就是说,步骤“基于内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中用于采样的第二UV坐标”,包括:
获取内部折射扭曲参数;
通过内部折射扭曲参数对内部折射效果贴图进行折射效果扭曲处理,得到处理后的内部折射效果贴图;
基于处理后的内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中用于采样的第二UV坐标。
其中,内部折射扭曲参数用于调整内部折射效果贴图中内部反射扭曲的强度。
例如,可以通过如下公式计算得到第二UV坐标:
InsideCoords=(MatcapCoords.xy+(ReflectionMask.gb*2-1)*cReflectionCoefficient)*0.5+0.5;
其中,cReflectionCoefficient为内部折射扭曲参数,(ReflectionMask.gb*2-1)*cReflectionCoefficient)即得到处理后的内部折射效果贴图。
在一些可选的实施例中,为了使渲染结果与透明物模型本身更贴合,可以在采样时根据透明物模型的颜色等参数进行颜色的处理,步骤“通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息”,包括:
通过第二UV坐标对材质捕捉贴图进行采样,得到内部采样信息;
获取预设的折射颜色参数;
基于内部采样信息和折射颜色参数,生成透明物模型的目标内部折射效果信息。
其中,折射颜色参数可以包括但不限于透明物模型自身的颜色参数和/或透明物材质的基础颜色参数,等等。
比如,使用第二UV坐标对材质捕捉贴图进行采样后,可以得到内部采样信息InsideMatcap。进一步的,可以对InsideMatcap乘以与折射颜色参数相关的BaseMap和cBaseColor,得到实现了内部折射的颜色效果的目标内部折射效果信息InsideSpecular。
具体的,目标内部折射效果信息可以通过如下公式计算得到:
InsideSpecular=InsideMatcap*BaseMap*cBaseColor。
其中,BaseMap代表透明物模型基础的颜色贴图,cBaseColor为用于调整材质的基础颜色参数。
204、基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息。
在本发明实施例中,透明物模型的高光部分还可以抽象得到外层高光OutsideSpecular部分。其中,外层高光是由于光在外表面反射形成的效果,通过外层高光中光线在外表面的反射,也可以在一定程度上表现出透明物模型表面的复杂切割的闪烁效果。
其中,目标外部折射效果信息为对材质捕捉贴图进行采样得到的像素点的像素信息。在实时渲染过程中,目标外部折射效果信息可以是实时对材质捕捉贴图中某一UV坐标的像素点进行采样得到的像素信息。或者,在渲染透明物模型前如果预先准备好目标外部折射效果信息,此时,目标外部折射效果信息可以是若干个像素点的像素信息的集合的形式或者贴图的形式,等等。
具体的,由于外层高光是光线在透明物表面进行反射得到的效果,因此,可以对第一UV坐标直接进行转换后对材质捕捉贴图进行采样。也就是说,步骤“基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息”,包括:
基于第一UV坐标,计算在透明物模型的材质捕捉贴图中用于采样的第三UV坐标;
根据第三UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标外部折射效果信息。
例如,可以利用第一UV坐标MatcapCoords.xy乘0.5并加0.5,得出贴图采样的第三UV坐标OutsideCoords,具体的,OutsideCoords=MatcapCoords.xy*0.5+0.5。
由于此处的MatcapCoords.xy是由反射方向向量R计算得出,R代表的是方向,数值范围是(-1,1),因此,计算得出的MatcapCoords中的X和Y的值,也都是(-1,1)的范围。而贴图的UV信息是在(0,1)范围内进行存储的,因此,需要将MatcapCoords.xy*0.5+0.5转换到(0,1)范围内,再作为第三UV坐标去进行matcap贴图的采样。
在计算得到第三UV坐标OutsideCoords后,可以使用OutsideCoords去采样MatcapMap贴图(即材质捕捉贴图),基于采样结果得到目标外部折射效果信息OutsideSpecular。
在一些可选的实施例中,如果材质捕捉贴图为带有A通道的tga格式,在采样后也可以对采样结果进行计算,得到在HDR格式下存储的正确的颜色信息。即,步骤“根据第三UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标外部折射效果信息”,具体可以包括:
根据第三UV坐标对材质捕捉贴图进行采样,得到初始外部折射效果信息,初始外部折射效果信息包括光照信息通道的通道信息;
基于光照信息通道的通道信息,对初始外部折射效果信息进行颜色转换,得到透明物模型的目标外部折射效果信息。
具体的颜色转换的方法可参见前述对初始内部折射效果信息进行颜色转换的过程,本发明实施例在此不再赘述。
205、基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
通过融合目标内部折射效果信息和目标外部折射效果信息,可以实现透明物模型的内部和外部都具有光线折射的效果,模拟出透明物模型复杂切割的闪烁效果。如图7所示,基于目标内部折射效果信息(内层)和目标外部折射效果信息(外层)进行渲染,可以得到渲染后的透明物模型(混合结果)。
在一些可选的实施例中,可以是使用目标内部折射效果信息对透明物模型进行渲染后,得到初始渲染后的透明物模型,再使用目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型;或者,也可以先使用目标外部折射效果信息再使用目标内部折射效果信息进行渲染。
其中,在渲染时,目标内部折射效果信息和目标外部折射效果信息可以具有一定的透明度,避免遮挡另一贴图的效果。
在另一些可选的实施例中,可以利用模型法线向量N与摄像机方向V进行点积(dot)计算得到NoV,通过NoV对目标内部折射效果信息和目标外部折射效果信息进行混合后,对透明物模型进行渲染,从而模拟透明物模型的闪烁效果。
在实际应用过程中,为了使透明物模型的内部反射效果与外部反射效果能够更好地叠加,步骤“基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型”,包括:
根据预设的效果厚度调整参数,将目标内部折射效果信息和目标外部折射效果信息进行加权融合,得到融合折射效果信息;
基于融合折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
其中,效果厚度调整参数为控制目标内部折射效果信息或目标外部折射效果信息的反射效果厚度的参数。
例如,融合折射效果信息可以通过如下公式计算得到:
Specular=lerp(OutsideSpecular,InsideSpecular,pow(NoV,cTransCoefficient));
其中,OutsideSpecular为目标外部折射效果信息,InsideSpecular为目标内部折射效果信息,cTransCoefficient即为效果厚度调整参数,例如cTransCoefficient可以用于调整外层反射效果的厚度。
可以理解的是,虽然大多的透明物模型如钻石和水晶都为光滑的镜面反射,但是也存在一些透明物模型具有漫反射,此时,需要为透明物模型添加漫反射的效果,因此,步骤“基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型”之前,本发明实施例提供的透明物模型渲染方法还包括:
获取透明物模型对应的模型颜色参数;
基于模型颜色参数,计算漫反射效果信息。
其中,模型颜色参数可以为透明物模型自身的颜色参数。
例如,可以使用简单的兰伯特渲染模型,计算模型法线向量N与光照方向L的点积(dot)结果NoL,根据NoL和模型颜色参数BaseColor计算漫反射效果信息。
进一步地,为了简单的控制暗部亮度,还可以增加暗部亮度控制参数cGI计算漫反射效果信息。漫反射效果信息具体计算公式如下:
Diffuse=lerp(cGI,1,NoL)*BaseColor。
其中,Diffuse即为漫反射效果信息。
在一些可选的实施例中,可以在目标内部折射效果信息和目标外部折射效果信息的基础上,融合漫反射效果信息,对透明物模型进行渲染,即,步骤“基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型”,具体可以包括:
基于目标内部折射效果信息和目标外部折射效果信息,生成融合折射效果信息;
将融合折射效果信息和漫反射效果信息进行融合,得到目标效果信息;
根据目标效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
具体的,目标效果信息可以通过如下公式计算得到:
OUT=Diffuse*cDiffuseInstensity+Specular*cSpeculaInstensity。
其中,cDiffuseInstensity用于控制整体Diffuse(漫反射效果信息)的强度,cSpeculaInstensity用于控制整体Specular(融合折射效果信息)的强度。
由上可知,本发明实施例可以根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量,根据反射方向向量,确定在透明物模型的材质捕捉贴图中用于采样的第一UV坐标,获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息,基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型;由于在本发明实施例中,利用材质捕捉贴图和内部基础折射效果贴图,模拟出透明物模型内部和外部的复杂折射效果,因此,可以高效地渲染对各种透明物进行渲染,降低透明物的渲染难度,减少对计算资源的占用。
根据前面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将结合图1的***进行说明。
如图8所示,本实施例的透明物模型渲染方法,具体流程可以如下:
801、对原始材质捕捉贴图进行烘焙,得到包含光照信息的材质捕捉贴图,光照信息基于材质捕捉贴图中的光照信息通道存储,原始材质捕捉贴图中不包括光照信息通道。
烘焙时将Matcap图的信息存为16位的HDR格式,保存更多的光照数据;然后,为了导入引擎使用,利用RGBM的计算方式,先将HDR格式转换为带有A通道的tga格式贴图。
802、根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量。
在一些可选的实施例中,可以基于视线方向向量V,以及模型法线向量N,计算出反射方向向量R,此时的反射方向向量R为世界空间下的表示,再将R转换到View空间为RV,并进行归一化(normalize)处理,即可得到材质捕捉贴图的第一UV坐标。
803、根据反射方向向量,确定第一UV坐标。
在渲染中,采样Matcap贴图之后,得到MatcapTexture.rgba,进一步计算最终颜色MatcapColor,MatcapColor=MatcapTexture.rgb*MatcapTexture.a*MatcapTexture.a*fMAX_RGBM_VALUE。
804、基于内部折射效果贴图和第一UV坐标,计算第二UV坐标,通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息。
可以利用ReflectionMask贴图的gb通道,及MatcapCoords.xy,计算出内部MatcapMap贴图采样的UV坐标InsideCoords。计算公式如下:InsideCoords=(MatcapCoords.xy+(ReflectionMask.gb*2-1)*cReflectionCoefficient)*0.5+0.5。
再使用InsideCoords,去采样MatcapMap,并将采样结果进行颜色转换得到InsideMatcap。
得到InsideMatcap后可以乘以BaseMap和cBaseColor,得到内部折射的颜色效果InsideSpecular,具体的,InsideSpecular=InsideMatcap*BaseMap*cBaseColor。
805、基于第一UV坐标,计算第三UV坐标,根据第三UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标外部折射效果信息。
可以利用MatcapCoords.xy乘0.5并加0.5,得出贴图采样的第三UV坐标OutsideCoords,具体的,OutsideCoords=MatcapCoords.xy*0.5+0.5;
再使用OutsideCoords去采样MatcapMap贴图(材质捕捉贴图),并将采样结果,进行颜色转换得到OutsideSpecular,即目标外部折射效果信息。
806、获取透明物模型对应的模型颜色参数,基于模型颜色参数,计算漫反射效果信息。
由于大多钻石和水晶都为光滑的镜面反射,只有部分情况会用到Diffuse的颜色,因此使用简单的兰伯特渲染模型,模型法线N与光照方向L的点积(dot),为NoL,为了简单的控制暗部亮度,增加参数cGI,漫反射效果信息具体计算公式如下:
Diffuse=lerp(cGI,1,NoL)*BaseColor;
807、基于目标内部折射效果信息和目标外部折射效果信息,生成融合折射效果信息,将融合折射效果信息和漫反射效果信息进行融合,得到目标效果信息。
最终效果的表现效果OUT=Diffuse*cDiffuseInstensity+Specular*cSpeculaInstensity。
808、根据目标效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
由上可知,本发明实施例可以根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量,根据反射方向向量,确定在透明物模型的材质捕捉贴图中用于采样的第一UV坐标,获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息,基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型;由于在本发明实施例中,利用材质捕捉贴图和内部基础折射效果贴图,模拟出透明物模型内部和外部的复杂折射效果,因此,可以高效地渲染对各种透明物进行渲染,降低透明物的渲染难度,减少对计算资源的占用。
为了更好地实施以上方法,相应的,本发明实施例还提供一种透明物模型渲染装置。
参考图9,该装置可以包括:
反射方向计算单元901,可以用于根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量;
第一坐标确定单元902,可以用于根据反射方向向量,确定在透明物模型的材质捕捉贴图中可以用于采样的第一UV坐标;
内部贴图生成单元903,可以用于获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息;
外部贴图生成单元904,可以用于基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息;
模型渲染单元905,可以用于基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
在一些可选的实施例中,内部贴图生成单元903,可以用于基于内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第二UV坐标;
通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息。
在一些可选的实施例中,本发明实施例提供的透明物模型渲染装置还可以包括贴图烘焙单元906,用于对原始材质捕捉贴图进行烘焙,得到包含光照信息的材质捕捉贴图,光照信息基于材质捕捉贴图中的光照信息通道存储,原始材质捕捉贴图中不包括光照信息通道;
内部贴图生成单元903,可以用于通过第二UV坐标对材质捕捉贴图进行采样,得到初始内部折射效果信息,初始内部折射效果信息包括光照信息通道的通道信息;
基于光照信息通道的通道信息,对初始内部折射效果信息进行颜色转换,得到透明物模型的目标内部折射效果信息。
在一些可选的实施例中,内部贴图生成单元903,可以用于获取内部折射扭曲参数;
通过内部折射扭曲参数对内部折射效果贴图进行折射效果扭曲处理,得到处理后的内部折射效果贴图;
基于处理后的内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第二UV坐标。
在一些可选的实施例中,内部贴图生成单元903,可以用于通过第二UV坐标对材质捕捉贴图进行采样,得到内部采样信息;
获取预设的折射颜色参数;
基于内部采样信息和折射颜色参数,生成透明物模型的目标内部折射效果信息。
在一些可选的实施例中,外部贴图生成单元904,可以用于基于第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第三UV坐标;
根据第三UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标外部折射效果信息。
在一些可选的实施例中,模型渲染单元905,可以用于根据预设的效果厚度调整参数,将目标内部折射效果信息和目标外部折射效果信息进行加权融合,得到融合折射效果信息;
基于融合折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
在一些可选的实施例中,如图10所示,本发明实施例提供的透明物模型渲染装置还可以包括漫反射贴图生成单元907,可以用于获取透明物模型对应的模型颜色参数;
基于模型颜色参数,计算漫反射效果信息;
模型渲染单元905,可以用于基于目标内部折射效果信息和目标外部折射效果信息,生成融合折射效果信息;
将融合折射效果信息和漫反射效果信息进行融合,得到目标效果信息;
根据目标效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
由上可知,通过透明物模型渲染装置,可以根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量,根据反射方向向量,确定在透明物模型的材质捕捉贴图中用于采样的第一UV坐标,通过第一UV坐标对材质捕捉贴图进行采样,得到材质捕捉贴图,获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息,基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型;由于在本发明实施例中,利用材质捕捉贴图和内部基础折射效果贴图,模拟出透明物模型内部和外部的复杂折射效果,因此,可以高效地渲染对各种透明物进行渲染,降低透明物的渲染难度,减少对计算资源的占用。
此外,相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端。如图11所示,图11为本申请实施例提供的计算机设备的结构示意图。该计算机设备1100包括有一个或者一个以上处理核心的处理器1101、有一个或一个以上计算机可读存储介质的存储器1102及存储在存储器1102上并可在处理器上运行的计算机程序。其中,处理器1101与存储器1102电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器1101是计算机设备1100的控制中心,利用各种接口和线路连接整个计算机设备1100的各个部分,通过运行或加载存储在存储器1102内的软件程序和/或模块,以及调用存储在存储器1102内的数据,执行计算机设备1100的各种功能和处理数据,从而对计算机设备1100进行整体监控。
在本申请实施例中,计算机设备1100中的处理器1101会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器1102中,并由处理器1101来运行存储在存储器1102中的应用程序,从而实现各种功能:
根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量;
根据反射方向向量,确定在透明物模型的材质捕捉贴图中可以用于采样的第一UV坐标;
获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息;
基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息;
基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
在一些可选的实施例中,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息,可以包括:
基于内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第二UV坐标;
通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息。
在一些可选的实施例中,通过第二UV坐标对材质捕捉贴图进行采样之前,本发明实施例提供的透明物模型渲染方法还可以包括:
对原始材质捕捉贴图进行烘焙,得到包含光照信息的材质捕捉贴图,光照信息基于材质捕捉贴图中的光照信息通道存储,原始材质捕捉贴图中不包括光照信息通道;
通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息,可以包括:
通过第二UV坐标对材质捕捉贴图进行采样,得到初始内部折射效果信息,初始内部折射效果信息包括光照信息通道的通道信息;
基于光照信息通道的通道信息,对初始内部折射效果信息进行颜色转换,得到透明物模型的目标内部折射效果信息。
在一些可选的实施例中,基于内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第二UV坐标,可以包括:
获取内部折射扭曲参数;
通过内部折射扭曲参数对内部折射效果贴图进行折射效果扭曲处理,得到处理后的内部折射效果贴图;
基于处理后的内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第二UV坐标。
在一些可选的实施例中,通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息,可以包括:
通过第二UV坐标对材质捕捉贴图进行采样,得到内部采样信息;
获取预设的折射颜色参数;
基于内部采样信息和折射颜色参数,生成透明物模型的目标内部折射效果信息。
在一些可选的实施例中,基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息,可以包括:
基于第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第三UV坐标;
根据第三UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标外部折射效果信息。
在一些可选的实施例中,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型,可以包括:
根据预设的效果厚度调整参数,将目标内部折射效果信息和目标外部折射效果信息进行加权融合,得到融合折射效果信息;
基于融合折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
在一些可选的实施例中,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型之前,本发明实施例提供的透明物模型渲染方法还可以包括:
获取透明物模型对应的模型颜色参数;
基于模型颜色参数,计算漫反射效果信息;
基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型,可以包括:
基于目标内部折射效果信息和目标外部折射效果信息,生成融合折射效果信息;
将融合折射效果信息和漫反射效果信息进行融合,得到目标效果信息;
根据目标效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
本方案可以根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量,根据反射方向向量,确定在透明物模型的材质捕捉贴图中用于采样的第一UV坐标,获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息,基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型;由于在本发明实施例中,利用材质捕捉贴图和内部基础折射效果贴图,模拟出透明物模型内部和外部的复杂折射效果,因此,可以高效地渲染对各种透明物进行渲染,降低透明物的渲染难度,减少对计算资源的占用。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图11所示,计算机设备1100还包括:触控显示屏1103、射频电路1104、音频电路1105、输入单元1106以及电源1107。其中,处理器1101分别与触控显示屏1103、射频电路1104、音频电路1105、输入单元1106以及电源1107电性连接。本领域技术人员可以理解,图11中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏1103可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏1103可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1101,并能接收处理器1101发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器1101以确定触摸事件的类型,随后处理器1101根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏1103而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏1103也可以作为输入单元1106的一部分实现输入功能。
射频电路1104可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路1105可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路1105可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路1105接收后转换为音频数据,再将音频数据输出处理器1101处理后,经射频电路1104以发送给比如另一计算机设备,或者将音频数据输出至存储器1102以便进一步处理。音频电路1105还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元1106可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源1107用于给计算机设备1100的各个部件供电。可选的,电源1107可以通过电源管理***与处理器1101逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源1107还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图11中未示出,计算机设备1100还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,可以根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量,根据反射方向向量,确定在透明物模型的材质捕捉贴图中用于采样的第一UV坐标,获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息,基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型;由于在本发明实施例中,利用材质捕捉贴图和内部基础折射效果贴图,模拟出透明物模型内部和外部的复杂折射效果,因此,可以高效地渲染对各种透明物进行渲染,降低透明物的渲染难度,减少对计算资源的占用。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种透明物模型渲染方法中的步骤。例如,该计算机程序可以执行如下步骤:
根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量;
根据反射方向向量,确定在透明物模型的材质捕捉贴图中可以用于采样的第一UV坐标;
获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息;
基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息;
基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
在一些可选的实施例中,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息,可以包括:
基于内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第二UV坐标;
通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息。
在一些可选的实施例中,通过第二UV坐标对材质捕捉贴图进行采样之前,本发明实施例提供的透明物模型渲染方法还可以包括:
对原始材质捕捉贴图进行烘焙,得到包含光照信息的材质捕捉贴图,光照信息基于材质捕捉贴图中的光照信息通道存储,原始材质捕捉贴图中不包括光照信息通道;
通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息,可以包括:
通过第二UV坐标对材质捕捉贴图进行采样,得到初始内部折射效果信息,初始内部折射效果信息包括光照信息通道的通道信息;
基于光照信息通道的通道信息,对初始内部折射效果信息进行颜色转换,得到透明物模型的目标内部折射效果信息。
在一些可选的实施例中,基于内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第二UV坐标,可以包括:
获取内部折射扭曲参数;
通过内部折射扭曲参数对内部折射效果贴图进行折射效果扭曲处理,得到处理后的内部折射效果贴图;
基于处理后的内部折射效果贴图和第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第二UV坐标。
在一些可选的实施例中,通过第二UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标内部折射效果信息,可以包括:
通过第二UV坐标对材质捕捉贴图进行采样,得到内部采样信息;
获取预设的折射颜色参数;
基于内部采样信息和折射颜色参数,生成透明物模型的目标内部折射效果信息。
在一些可选的实施例中,基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息,可以包括:
基于第一UV坐标,计算在透明物模型的材质捕捉贴图中可以用于采样的第三UV坐标;
根据第三UV坐标对材质捕捉贴图进行采样,基于采样结果生成透明物模型的目标外部折射效果信息。
在一些可选的实施例中,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型,可以包括:
根据预设的效果厚度调整参数,将目标内部折射效果信息和目标外部折射效果信息进行加权融合,得到融合折射效果信息;
基于融合折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
在一些可选的实施例中,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型之前,本发明实施例提供的透明物模型渲染方法还可以包括:
获取透明物模型对应的模型颜色参数;
基于模型颜色参数,计算漫反射效果信息;
基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型,可以包括:
基于目标内部折射效果信息和目标外部折射效果信息,生成融合折射效果信息;
将融合折射效果信息和漫反射效果信息进行融合,得到目标效果信息;
根据目标效果信息对透明物模型进行渲染,得到渲染后的透明物模型。
本方案可以根据待渲染的透明物模型的模型法线向量和视线方向向量,计算透明物模型对应的反射方向向量,根据反射方向向量,确定在透明物模型的材质捕捉贴图中用于采样的第一UV坐标,获取透明物模型对应的内部基础折射效果贴图,基于内部基础折射效果贴图、第一UV坐标和材质捕捉贴图,得到透明物模型的目标内部折射效果信息,基于第一UV坐标和材质捕捉贴图,得到透明物模型的目标外部折射效果信息,基于目标内部折射效果信息和目标外部折射效果信息对透明物模型进行渲染,得到渲染后的透明物模型;由于在本发明实施例中,利用材质捕捉贴图和内部基础折射效果贴图,模拟出透明物模型内部和外部的复杂折射效果,因此,可以高效地渲染对各种透明物进行渲染,降低透明物的渲染难度,减少对计算资源的占用。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种透明物模型渲染方法中的步骤,因此,可以实现本申请实施例所提供的任一种透明物模型渲染方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种透明物模型渲染方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种透明物模型渲染方法,其特征在于,包括:
根据待渲染的透明物模型的模型法线向量和视线方向向量,计算所述透明物模型对应的反射方向向量;
根据所述反射方向向量,确定在所述透明物模型的材质捕捉贴图中用于采样的第一UV坐标;
获取所述透明物模型对应的内部基础折射效果贴图,基于所述内部基础折射效果贴图、所述第一UV坐标和所述材质捕捉贴图,得到所述透明物模型的目标内部折射效果信息;
基于所述第一UV坐标和所述材质捕捉贴图,得到所述透明物模型的目标外部折射效果信息;
基于所述目标内部折射效果信息和所述目标外部折射效果信息对所述透明物模型进行渲染,得到渲染后的透明物模型。
2.根据权利要求1所述的透明物模型渲染方法,其特征在于,所述基于所述内部基础折射效果贴图、所述第一UV坐标和所述材质捕捉贴图,得到所述透明物模型的目标内部折射效果信息,包括:
基于所述内部折射效果贴图和所述第一UV坐标,计算在所述透明物模型的所述材质捕捉贴图中用于采样的第二UV坐标;
通过所述第二UV坐标对所述材质捕捉贴图进行采样,基于采样结果生成所述透明物模型的目标内部折射效果信息。
3.根据权利要求1所述的透明物模型渲染方法,其特征在于,所述通过所述第二UV坐标对所述材质捕捉贴图进行采样之前,所述方法还包括:
对原始材质捕捉贴图进行烘焙,得到包含光照信息的材质捕捉贴图,所述光照信息基于所述材质捕捉贴图中的光照信息通道存储,所述原始材质捕捉贴图中不包括所述光照信息通道;
所述通过所述第二UV坐标对所述材质捕捉贴图进行采样,基于采样结果生成所述透明物模型的目标内部折射效果信息,包括:
通过所述第二UV坐标对所述材质捕捉贴图进行采样,得到初始内部折射效果信息,所述初始内部折射效果信息包括所述光照信息通道的通道信息;
基于所述光照信息通道的通道信息,对所述初始内部折射效果信息进行颜色转换,得到所述透明物模型的目标内部折射效果信息。
4.根据权利要求3所述的透明物模型渲染方法,其特征在于,所述基于所述内部折射效果贴图和所述第一UV坐标,计算在所述透明物模型的所述材质捕捉贴图中用于采样的第二UV坐标,包括:
获取内部折射扭曲参数;
通过所述内部折射扭曲参数对所述内部折射效果贴图进行折射效果扭曲处理,得到处理后的内部折射效果贴图;
基于所述处理后的内部折射效果贴图和所述第一UV坐标,计算在所述透明物模型的所述材质捕捉贴图中用于采样的第二UV坐标。
5.根据权利要求3所述的透明物模型渲染方法,其特征在于,所述通过所述第二UV坐标对所述材质捕捉贴图进行采样,基于采样结果生成所述透明物模型的目标内部折射效果信息,包括:
通过所述第二UV坐标对所述材质捕捉贴图进行采样,得到内部采样信息;
获取预设的折射颜色参数;
基于所述内部采样信息和所述折射颜色参数,生成所述透明物模型的目标内部折射效果信息。
6.根据权利要求1所述的透明物模型渲染方法,其特征在于,所述基于所述第一UV坐标和所述材质捕捉贴图,得到所述透明物模型的目标外部折射效果信息,包括:
基于所述第一UV坐标,计算在所述透明物模型的所述材质捕捉贴图中用于采样的第三UV坐标;
根据所述第三UV坐标对所述材质捕捉贴图进行采样,基于采样结果生成所述透明物模型的目标外部折射效果信息。
7.根据权利要求1所述的透明物模型渲染方法,其特征在于,所述基于所述目标内部折射效果信息和所述目标外部折射效果信息对所述透明物模型进行渲染,得到渲染后的透明物模型,包括:
根据预设的效果厚度调整参数,将所述目标内部折射效果信息和所述目标外部折射效果信息进行加权融合,得到融合折射效果信息;
基于所述融合折射效果信息对所述透明物模型进行渲染,得到渲染后的透明物模型。
8.根据权利要求1所述的透明物模型渲染方法,其特征在于,所述基于所述目标内部折射效果信息和所述目标外部折射效果信息对所述透明物模型进行渲染,得到渲染后的透明物模型之前,所述方法还包括:
获取所述透明物模型对应的模型颜色参数;
基于所述模型颜色参数,计算漫反射效果信息;
所述基于所述目标内部折射效果信息和所述目标外部折射效果信息对所述透明物模型进行渲染,得到渲染后的透明物模型,包括:
基于所述目标内部折射效果信息和所述目标外部折射效果信息,生成融合折射效果信息;
将所述融合折射效果信息和所述漫反射效果信息进行融合,得到目标效果信息;
根据所述目标效果信息对所述透明物模型进行渲染,得到渲染后的透明物模型。
9.一种透明物模型渲染装置,其特征在于,包括:
反射方向计算单元,用于根据待渲染的透明物模型的模型法线向量和视线方向向量,计算所述透明物模型对应的反射方向向量;
第一坐标确定单元,用于根据所述反射方向向量,确定在所述透明物模型的材质捕捉贴图中用于采样的第一UV坐标;
内部贴图生成单元,用于获取所述透明物模型对应的内部基础折射效果贴图,基于所述内部基础折射效果贴图、所述第一UV坐标和所述材质捕捉贴图,得到所述透明物模型的目标内部折射效果信息;
外部贴图生成单元,用于基于所述第一UV坐标和所述材质捕捉贴图,得到所述透明物模型的目标外部折射效果信息;
模型渲染单元,用于基于所述目标内部折射效果信息和所述目标外部折射效果信息对所述透明物模型进行渲染,得到渲染后的透明物模型。
10.一种计算机设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至8任一项所述的透明物模型渲染方法中的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的透明物模型渲染方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211627506.6A CN115984448A (zh) | 2022-12-16 | 2022-12-16 | 一种透明物模型渲染方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211627506.6A CN115984448A (zh) | 2022-12-16 | 2022-12-16 | 一种透明物模型渲染方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115984448A true CN115984448A (zh) | 2023-04-18 |
Family
ID=85969296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211627506.6A Pending CN115984448A (zh) | 2022-12-16 | 2022-12-16 | 一种透明物模型渲染方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115984448A (zh) |
-
2022
- 2022-12-16 CN CN202211627506.6A patent/CN115984448A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109993823B (zh) | 阴影渲染方法、装置、终端及存储介质 | |
CN113052947B (zh) | 一种渲染方法、装置、电子设备和存储介质 | |
CN112053423B (zh) | 模型渲染方法、装置、存储介质及计算机设备 | |
WO2022042290A1 (zh) | 一种虚拟模型处理方法、装置、电子设备和存储介质 | |
CN112465945B (zh) | 一种模型生成方法、装置、存储介质及计算机设备 | |
CN112907716B (zh) | 虚拟环境中的云朵渲染方法、装置、设备及存储介质 | |
CN108665510B (zh) | 连拍图像的渲染方法、装置、存储介质及终端 | |
CN111476851A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
WO2023125365A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
WO2022237116A1 (zh) | 图像处理方法及装置 | |
CN113487662B (zh) | 画面显示方法、装置、电子设备和存储介质 | |
CN114842120A (zh) | 一种图像渲染处理方法、装置、设备及介质 | |
CN117582661A (zh) | 虚拟模型渲染方法、装置、介质及设备 | |
CN117745928A (zh) | 一种图像处理方法、装置、设备及介质 | |
CN115984448A (zh) | 一种透明物模型渲染方法、装置、计算机设备和存储介质 | |
CN112308766B (zh) | 一种图像数据展示方法、装置、电子设备及存储介质 | |
CN111415393B (zh) | 一种调节多媒体黑板显示的方法、装置、介质和电子设备 | |
CN116524063B (zh) | 光照颜色的计算方法、装置、设备及介质 | |
US20240161390A1 (en) | Method, apparatus, electronic device and storage medium for control based on extended reality | |
CN112308757B (zh) | 一种数据展示方法和移动终端 | |
WO2023158374A2 (zh) | 主体材质确定方法、装置、电子设备及存储介质 | |
CN117876515A (zh) | 虚拟对象模型的渲染方法、装置、计算机设备及存储介质 | |
CN116310020A (zh) | 一种反光效果实现方法、装置、计算机设备和存储介质 | |
CN115731339A (zh) | 虚拟模型渲染方法、装置、计算机设备及存储介质 | |
CN116328298A (zh) | 虚拟模型的渲染方法、装置、计算机设备及存储介质 |
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 |