游戏中对象表面高光渲染方法、装置、设备和存储介质制造方法及图纸

技术编号:27513429 阅读:17 留言:0更新日期:2021-03-02 18:45
本发明专利技术实施例提供一种游戏中对象表面高光渲染方法、装置、设备和存储介质,该方法包括:获取待渲染对象的粗糙度贴图和法线贴图;基于粗糙度贴图和法线贴图,确定目标系数,目标系数表示待渲染对象微表面中法线方向与光线和视线的半角向量相同的比率;获取修正函数;基于修正函数、目标系数以及粗糙度贴图,确定待渲染对象表面高光度,以支持待渲染对象表面的高光渲染操作。采用本发明专利技术,通过使用基于物理的高光算法来克服传统高光算法中能量不守恒及不能表达各项异性物体的缺点,以使得本方案可以实现能量守恒,且能表达各项异性待渲染对象高光的差异,进而可以提高渲染待渲染对象表面高光效果。象表面高光效果。象表面高光效果。

【技术实现步骤摘要】
游戏中对象表面高光渲染方法、装置、设备和存储介质


[0001]本专利技术涉及图像渲染
,尤其涉及一种游戏中对象表面高光渲染方法、装置、设备和存储介质。

技术介绍

[0002]相关技术中,在实现渲染待渲染对象表面高光的过程中,会采用Blin-Phone 光照模型中的高光算法。采用Blin-Phone光照模型中的高光算法渲染的待渲染对象表面高光的一种效果图可见图1。这种算法存在以下一些缺陷:不能基于能量守恒定律实现高光度计算、不能实际表达各项异性的待渲染对象的高光、不能表达高光越集中高光度越高的现象等。

技术实现思路

[0003]本专利技术实施例提供一种游戏中对象表面高光渲染方法、装置、设备和存储介质,用以实现提高渲染待渲染对象表面高光效果。
[0004]第一方面,本专利技术实施例提供一种游戏中对象表面高光渲染方法,该方法包括:
[0005]获取待渲染对象的粗糙度贴图和法线贴图;
[0006]基于所述粗糙度贴图和所述法线贴图,确定目标系数,所述目标系数表示待渲染对象微表面中法线方向与光线和视线的半角向量相同的比率;
[0007]获取修正函数;
[0008]基于所述修正函数、所述目标系数以及所述粗糙度贴图,确定待渲染对象表面高光度,以支持所述待渲染对象表面的高光渲染操作。
[0009]可选地,所述基于所述粗糙度贴图和所述法线贴图,确定目标系数,包括:
[0010]从所述法线贴图中,获取所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量;<br/>[0011]从所述粗糙度贴图中,获取待渲染对象表面粗糙度;
[0012]基于所述待渲染对象表面粗糙度、所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量,计算目标系数。
[0013]可选地,所述基于所述待渲染对象表面粗糙度、所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量,计算目标系数,包括:
[0014]通过公式,基于所述待渲染对象表面粗糙度、所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量,计算目标系数;
[0015]所述公式为:
[0016][0017]其中,所述D(h)为所述目标系数;所述a为所述待渲染对象表面粗糙度的平方;所述n为所述待渲染对象微表面中法线方向;所述h为所述光线和视线的半角向量。
[0018]可选地,所述修正函数为平滑阶跃函数。
[0019]可选地,所述平滑阶跃函数为:
[0020][0021]其中,所述a为所述待渲染对象表面粗糙度的平方;所述x=D(h)
×
Cspec,所述D(h)为所述目标系数,所述Cspec为所述待渲染对象表面高光度。
[0022]第二方面,本专利技术实施例提供一种游戏中对象表面高光渲染装置,包括:
[0023]获取模块,用于获取待渲染对象的粗糙度贴图和法线贴图;
[0024]确定模块,用于基于所述粗糙度贴图和所述法线贴图,确定目标系数,所述目标系数表示待渲染对象微表面中法线方向与光线和视线的半角向量相同的比率;
[0025]所述获取模块,用于获取修正函数;
[0026]所述确定模块,用于基于所述修正函数、所述目标系数以及所述粗糙度贴图,确定待渲染对象表面高光度,以支持所述待渲染对象表面的高光渲染操作。
[0027]可选地,所述确定模块,用于:
[0028]从所述法线贴图中,获取所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量;
[0029]从所述粗糙度贴图中,获取待渲染对象表面粗糙度;
[0030]基于所述待渲染对象表面粗糙度、所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量,计算目标系数。
[0031]可选地,所述确定模块,用于:
[0032]通过公式,基于所述待渲染对象表面粗糙度、所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量,计算目标系数;
[0033]所述公式为:
[0034][0035]其中,所述D(h)为所述目标系数;所述a为所述待渲染对象表面粗糙度的平方;所述n为所述待渲染对象微表面中法线方向;所述h为所述光线和视线的半角向量。
[0036]可选地,所述修正函数为平滑阶跃函数。
[0037]可选地,所述平滑阶跃函数为:
[0038][0039]其中,所述a为所述待渲染对象表面粗糙度的平方;所述x=D(h)
×
Cspec,所述D(h)为所述目标系数,所述Cspec为所述待渲染对象表面高光度。
[0040]第三方面,本专利技术实施例提供一种电子设备,其中包括处理器和存储器,其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第一方面中的游戏中对象表面高光渲染方法。
[0041]第四方面,本专利技术实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现第一方面中的游戏中对象表面高光渲染方法。
[0042]采用本专利技术,通过使用基于物理的高光算法来克服传统高光算法中能量不守恒及不能表达各项异性物体的缺点,以使得本方案可以实现能量守恒,且能表达各项异性待渲染对象高光的差异,进而可以提高渲染待渲染对象表面高光效果。此外,将待渲染对象表面粗糙度的影响纳入考虑范围,通过修改函数实现的功能是对于粗糙待渲染对象,其受光分散,达到亮度低的效果,以及对于光滑的待渲染对象,其受光集中,达到亮度高的效果。
附图说明
[0043]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1为本专利技术实施例提供的一种采用Blin-Phone光照模型中的高光算法渲染的待渲染对象表面高光的效果示意图;
[0045]图2为本专利技术实施例提供的一种游戏中对象表面高光渲染方法的流程图示意图;
[0046]图3为本专利技术实施例提供的一种D(h)的函数曲线示意图;
[0047]图4为本专利技术实施例提供的一种g(x)的函数曲线示意图;
[0048]图5为采用Blin-Phone光照模型中的高光算法渲染的待渲染对象表面高光以及采用本方案渲染的待渲染对象表面高光的效果对比示意图;
[0049]图6为采用本方案对图1相同待渲染对象进行渲染的效果示意图;
[0050]图7为本专利技术实施例提供的一种游戏中对象表面高光渲染方法的流程图示意图;
[0051]图8为本专利技术实施例提供的一种游戏中对象表面高光渲染装置的结构示意图;
[0052]图9为本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0053]为使本发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种游戏中对象表面高光渲染方法,其特征在于,包括:获取待渲染对象的粗糙度贴图和法线贴图;基于所述粗糙度贴图和所述法线贴图,确定目标系数,所述目标系数表示待渲染对象微表面中法线方向与光线和视线的半角向量相同的比率;获取修正函数;基于所述修正函数、所述目标系数以及所述粗糙度贴图,确定待渲染对象表面高光度,以支持所述待渲染对象表面的高光渲染操作。2.根据权利要求1所述的方法,其特征在于,所述基于所述粗糙度贴图和所述法线贴图,确定目标系数,包括:从所述法线贴图中,获取所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量;从所述粗糙度贴图中,获取待渲染对象表面粗糙度;基于所述待渲染对象表面粗糙度、所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量,计算目标系数。3.根据权利要求2所述的方法,其特征在于,所述基于所述待渲染对象表面粗糙度、所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量,计算目标系数,包括:通过公式,基于所述待渲染对象表面粗糙度、所述待渲染对象微表面中法线方向以及所述光线和视线的半角向量,计算目标系数;所述公式为:其中,所述D(h)为所述目标系数;所述a为所述待渲染对象表面粗糙度的平方;所述n为所述待渲染对象微表面中法线方向;所述h为所述光线和视线的半角向量。4.根据权利要求1所述的方法,其特征在于,所述修正函数为平滑阶跃函数。5.根据权利要求4所述的方法,其特征在于,所述平滑阶跃函数为:其中,所述a为所述待渲染对象表面粗糙度的平方;所述x=D(h)
...

【专利技术属性】
技术研发人员:丁许朋汤杰熊鑫
申请(专利权)人:苏州幻塔网络科技有限公司
类型:发明
国别省市:

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

1