一种反射纹理补全方法、装置、设备和存储介质制造方法及图纸

技术编号:37768115 阅读:12 留言:0更新日期:2023-06-06 13:30
本申请公开了一种反射纹理补全方法、装置、设备和存储介质,方法包括:基于屏幕空间平面反射技术从主摄像机获取的图像中生成反射纹理;将主摄像机的朝向旋转到反射朝向,主摄像机的原朝向和反射朝向基于反射平面成镜像;竖直翻转主摄像机的画面,并让主摄像机渲染一次天空盒,将获取的图像渲染到纹理,得到反射方向上的天空纹理;将反射纹理和天空纹理进行混合,得到补全后反射纹理,改善了使用屏幕空间平面反射技术无法获取屏幕外的反射内容,导致反射纹理残缺从而视觉效果不佳这一固有缺陷,以及采用天空盒采样结果去修补反射纹理存在效果不佳的技术问题。在效果不佳的技术问题。在效果不佳的技术问题。

【技术实现步骤摘要】
一种反射纹理补全方法、装置、设备和存储介质


[0001]本申请涉及电子游戏渲染
,尤其涉及一种反射纹理补全方法、装置、设备和存储介质。

技术介绍

[0002]随着移动端机器性能的不断进步,移动端游戏的不断发展,画质竞争已进入白热化,平面反射这种早已在PC和主机平台游戏广泛使用的画面效果,在移动端游戏也变得不可或缺,十分适用于表现光滑表面、镜面、水面倒影等视觉效果。
[0003]由于移动平台机器性能有限,选择屏幕空间平面反射技术来实现移动端游戏的反射视觉效果是十分合适的,许多游戏都采用了这一技术。屏幕空间平面反射技术实质是根据屏幕图像来生成反射纹理,再由着色器获取该纹理并绘制反射内容,性能均衡稳定。
[0004]然而,屏幕空间平面反射技术有自身的局限性。由于屏幕外的内容无法获知,反射纹理的残缺是不可避免的,这导致在某些视角下的反射效果表现很差。在实际应用中,反射纹理的残缺部分往往是场景中天空的部分,可以在着色器中对场景中的天空盒多进行一次采样,将采样结果与屏幕空间平面反射技术生成的反射纹理混合来补全反射内容,但对天空盒采样的结果并非真实的反射结果,混合后的视觉效果不佳。

技术实现思路

[0005]本申请提供了一种反射纹理补全方法、装置、设备和存储介质,用于改善使用屏幕空间平面反射技术无法获取屏幕外的反射内容,导致反射纹理残缺从而视觉效果不佳这一固有缺陷,以及采用天空盒采样结果去修补反射纹理存在效果不佳的技术问题。
[0006]有鉴于此,本申请第一方面提供了一种反射纹理补全方法,包括:
[0007]基于屏幕空间平面反射技术从主摄像机获取的图像中生成反射纹理;
[0008]将所述主摄像机的朝向旋转到反射朝向,所述主摄像机的原朝向和反射朝向基于反射平面成镜像;
[0009]竖直翻转所述主摄像机的画面,并让所述主摄像机渲染一次天空盒,将获取的图像渲染到纹理,得到反射方向上的天空纹理;
[0010]将所述反射纹理和所述天空纹理进行混合,得到补全后反射纹理。
[0011]可选的,所述竖直翻转所述主摄像机的画面,包括:
[0012]将所述主摄像机的投影矩阵乘以预置参数矩阵,实现竖直翻转所述主摄像机的画面,所述预置参数矩阵为
[0013]可选的,所述方法还包括:
[0014]恢复所述主摄像机的朝向和投影矩阵。
[0015]可选的,所述将所述反射纹理和所述天空纹理进行混合,得到补全后反射纹理,包括:
[0016]通过A通道混合所述反射纹理和所述天空纹理,得到补全后反射纹理,混合过程为:
[0017]refl.rgb=lerp(reflSkybox.rgb,refl.rgb,refl.a);
[0018]式中,refl.rgb为反射纹理的颜色,refl.a为反射纹理A通道的值,reflSkybox.rgb为天空纹理的颜色,lerp()为线性插值函数。
[0019]本申请第二方面提供了一种反射纹理补全装置,包括:
[0020]反射纹理生成单元,用于基于屏幕空间平面反射技术从主摄像机获取的图像中生成反射纹理;
[0021]旋转单元,用于将所述主摄像机的朝向旋转到反射朝向,所述主摄像机的原朝向和反射朝向基于反射平面成镜像;
[0022]天空纹理生成单元,用于竖直翻转所述主摄像机的画面,并让所述主摄像机渲染一次天空盒,将获取的图像渲染到纹理,得到反射方向上的天空纹理;
[0023]纹理混合单元,用于将所述反射纹理和所述天空纹理进行混合,得到补全后反射纹理。
[0024]可选的,所述天空纹理生成单元,具体用于:
[0025]将所述主摄像机的投影矩阵乘以预置参数矩阵,实现竖直翻转所述主摄像机的画面,所述预置参数矩阵为
[0026]让所述主摄像机渲染一次天空盒,将获取的图像渲染到纹理,得到反射方向上的天空纹理。
[0027]可选的,所述装置还包括:
[0028]恢复单元,用于恢复所述主摄像机的朝向和投影矩阵。
[0029]可选的,所述纹理混合单元,具体用于:
[0030]通过A通道混合所述反射纹理和所述天空纹理,得到补全后反射纹理,混合过程为:
[0031]refl.rgb=lerp(reflSkybox.rgb,refl.rgb,refl.a);
[0032]式中,refl.rgb为反射纹理的颜色,refl.a为反射纹理A通道的值,reflSkybox.rgb为天空纹理的颜色,lerp()为线性插值函数。
[0033]本申请第三方面提供了一种反射纹理补全设备,所述设备包括处理器以及存储器;
[0034]所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0035]所述处理器用于根据所述程序代码中的指令执行第一方面任一种所述的反射纹理补全方法。
[0036]本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码被处理器执行时实现第一方面任一种所述的反射纹理补全方
法。
[0037]从以上技术方案可以看出,本申请具有以下优点:
[0038]本申请提供了一种反射纹理补全方法,包括:基于屏幕空间平面反射技术从主摄像机获取的图像中生成反射纹理;将主摄像机的朝向旋转到反射朝向,主摄像机的原朝向和反射朝向基于反射平面成镜像;竖直翻转主摄像机的画面,并让主摄像机渲染一次天空盒,将获取的图像渲染到纹理,得到反射方向上的天空纹理;将反射纹理和天空纹理进行混合,得到补全后反射纹理。
[0039]本申请中,在基于屏幕空间平面反射技术生成反射纹理后,将主摄像机的朝向旋转到反射朝向,并竖直翻转所述主摄像机的画面,让主摄像机渲染一次天空盒,将获取的图像渲染到纹理,得到反射方向上的天空纹理,通过运用反射相机的做法,渲染出反射方向上的天空纹理,是真实的反射结果,混合后的视觉效果表现很好,改善了使用屏幕空间平面反射技术无法获取屏幕外的反射内容,导致反射纹理残缺从而视觉效果不佳这一固有缺陷,以及采用天空盒采样结果去修补反射纹理存在效果不佳的技术问题。
附图说明
[0040]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0041]图1为本申请实施例提供的一种反射纹理补全方法的一个流程示意图;
[0042]图2为本申请实施例提供的一种主摄像机朝向示意图;
[0043]图3为本申请实施例提供的一种反射纹理补全装置的一个结构示意图。
具体实施方式
[0044]本申请提供了一种反射纹理补全方法、装置、设备和存储介质,用于改善使用屏幕空间平面反射技术无法获取屏幕外的反射内容,导致反射纹理残缺从而视本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种反射纹理补全方法,其特征在于,包括:基于屏幕空间平面反射技术从主摄像机获取的图像中生成反射纹理;将所述主摄像机的朝向旋转到反射朝向,所述主摄像机的原朝向和反射朝向基于反射平面成镜像;竖直翻转所述主摄像机的画面,并让所述主摄像机渲染一次天空盒,将获取的图像渲染到纹理,得到反射方向上的天空纹理;将所述反射纹理和所述天空纹理进行混合,得到补全后反射纹理。2.根据权利要求1所述的反射纹理补全方法,其特征在于,所述竖直翻转所述主摄像机的画面,包括:将所述主摄像机的投影矩阵乘以预置参数矩阵,实现竖直翻转所述主摄像机的画面,所述预置参数矩阵为3.根据权利要求2所述的反射纹理补全方法,其特征在于,所述方法还包括:恢复所述主摄像机的朝向和投影矩阵。4.根据权利要求1所述的反射纹理补全方法,其特征在于,所述将所述反射纹理和所述天空纹理进行混合,得到补全后反射纹理,包括:通过A通道混合所述反射纹理和所述天空纹理,得到补全后反射纹理,混合过程为:refl.rgb=lerp(reflSkybox.rgb,refl.rgb,refl.a);式中,refl.rgb为反射纹理的颜色,refl.a为反射纹理A通道的值,reflSkybox.rgb为天空纹理的颜色,lerp()为线性插值函数。5.一种反射纹理补全装置,其特征在于,包括:反射纹理生成单元,用于基于屏幕空间平面反射技术从主摄像机获取的图像中生成反射纹理;旋转单元,用于将所述主摄像机的朝向旋转到反射朝向,所述主摄像机的原朝向和反射朝向基于反射平面成镜像;天空纹理生成单元,用于竖直翻转所述主摄像机的画面,并让所述主摄像...

【专利技术属性】
技术研发人员:曾伟航陈伟聪张纯涛周晓明刘旭军周健彬
申请(专利权)人:广东趣炫网络股份有限公司
类型:发明
国别省市:

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

1