水面渲染方法、装置、移动端和存储介质制造方法及图纸

技术编号:32972223 阅读:11 留言:0更新日期:2022-04-09 11:41
本发明专利技术实施例提供一种水面渲染方法、装置、移动端和存储介质,该方法包括:通过移动端对应的渲染管线完成不透明渲染阶段的渲染处理,以得到不透明渲染阶段的场景颜色;在渲染管线中,基于不透明渲染阶段的场景颜色进行渲染处理,以得到待采样场景颜色;在渲染管线中的半透明渲染阶段,对待采样场景颜色进行采样处理,以分别获得水面的反射效果数据和折射效果数据。实现了水面的反射效果和折射效果的渲染,进而使得PC端和移动端渲染出的水面的效果是一致的,让移动端渲染出的水面的效果能够达到美工要求,从而提高用户在游戏中的体验感。从而提高用户在游戏中的体验感。从而提高用户在游戏中的体验感。

【技术实现步骤摘要】
水面渲染方法、装置、移动端和存储介质


[0001]本专利技术涉及图像渲染
,尤其涉及一种水面渲染方法、装置、移动端和存储介质。

技术介绍

[0002]UE4(虚幻引擎4)通过水面渲染系统(SingleLayerWater,UE4中负责水面渲染的系统)实现对游戏世界中的水面的渲染,该水面渲染系统不仅支持PC(Personal Computer,个人计算机)端,也支持移动端。但出于PC端和移动端之间性能差异的考虑,对于移动端来说,水面渲染系统的使用有诸多的限制和功能特性的缺失。比如说,移动端缺少实时反射效果、缺少折射效果。这使得PC端和移动端渲染出的水面的效果差别过大,移动端渲染出的水面的效果达不到美工要求,用户体验不佳。

技术实现思路

[0003]本专利技术实施例提供一种水面渲染方法、装置、移动端和存储介质,用以实现使得PC端和移动端渲染出的水面的效果是一致的,让移动端渲染出的水面的效果能够达到美工要求,从而提高用户在游戏中的体验感。
[0004]第一方面,本专利技术实施例提供一种水面渲染方法,该方法包括:
[0005]通过移动端对应的渲染管线完成不透明渲染阶段的渲染处理,以得到所述不透明渲染阶段的场景颜色;
[0006]在所述渲染管线中,基于所述不透明渲染阶段的场景颜色进行渲染处理,以得到待采样场景颜色;
[0007]在所述渲染管线中的半透明渲染阶段,对所述待采样场景颜色进行采样处理,以分别获得水面的反射效果数据和折射效果数据。
[0008]可选地,所述基于所述不透明渲染阶段的场景颜色进行渲染处理,包括:
[0009]创建渲染纹理;
[0010]绑定颜色缓存器中存储的所述不透明渲染阶段的场景颜色作为输入,并将所述渲染纹理设定为渲染目标,进行渲染处理。
[0011]可选地,所述绑定颜色缓存器中存储的所述不透明渲染阶段的场景颜色作为输入,并将所述渲染纹理设定为渲染目标,进行渲染处理,包括:
[0012]在像素着色器中,对所述颜色缓存器中存储的所述不透明渲染阶段的场景颜色进行采样处理以及编码处理,将所述采样处理以及所述编码处理的处理结果输出到所述渲染纹理。
[0013]可选地,所述对待采样场景颜色进行采样处理,以获得水面的反射效果数据,包括:
[0014]在像素着色器中,获取当前需要处理的片段,确定所述片段对应的被反射点的世界空间坐标;
[0015]获取所述被反射点坐标对应的被反射点深度;
[0016]若所述被反射点深度满足预设条件,则对待采样场景颜色进行采样处理和解码处理,以获得水面的反射效果数据。
[0017]可选地,所述确定所述片段对应的被反射点的世界空间坐标,包括:
[0018]获取所述片段在屏幕空间中对应的坐标;
[0019]基于所述片段在屏幕空间中对应的坐标,确定所述片段在世界空间中对应的坐标;
[0020]获取所述片段相对于相机的位置;
[0021]基于所述片段相对于所述相机的位置,确定反射向量;
[0022]从所述片段在所述世界空间中对应的坐标沿所述反射向量的方向步进预设距离,得到所述片段对应的被反射点的世界空间坐标。
[0023]可选地,所述若所述被反射点深度满足预设条件,则对待采样场景颜色进行采样处理和解码处理,包括:
[0024]获取所述片段对应的片段深度;
[0025]若所述被反射点深度大于所述片段深度,且所述相机的视线向量与所述反射向量之间的夹角大于预设角度,则对待采样场景颜色进行采样处理和解码处理。
[0026]可选地,所述对待采样场景颜色进行采样处理,以获得水面的折射效果数据,包括:
[0027]在像素着色器中,获取当前需要处理的片段,确定所述片段对应的水面部分在屏幕空间中对应的坐标;
[0028]获取扭曲程度;
[0029]基于所述扭曲程度对所述片段在所述屏幕空间中对应的坐标进行偏移,得到采样坐标;
[0030]通过所述采样坐标对待采样场景颜色进行采样,得到水面的折射效果数据。
[0031]可选地,所述获取扭曲程度,包括:
[0032]获取相机空间的像素法线以及顶点法线;
[0033]确定所述顶点法线减去所述像素法线的差值;
[0034]用所述差值乘以折射系数,得到扭曲程度。
[0035]第二方面,本专利技术实施例提供一种水面渲染装置,包括:
[0036]不透明渲染模块,用于通过移动端对应的渲染管线完成不透明渲染阶段的渲染处理,以得到所述不透明渲染阶段的场景颜色;
[0037]全屏渲染模块,用于在所述渲染管线中,基于所述不透明渲染阶段的场景颜色进行渲染处理,以得到待采样场景颜色;
[0038]采样模块,用于在所述渲染管线中的半透明渲染阶段,对所述待采样场景颜色进行采样处理,以分别获得水面的反射效果数据和折射效果数据。
[0039]可选地,所述全屏渲染模块,用于:
[0040]创建渲染纹理;
[0041]绑定颜色缓存器中存储的所述不透明渲染阶段的场景颜色作为输入,并将所述渲染纹理设定为渲染目标,进行渲染处理。
[0042]可选地,所述全屏渲染模块,用于:
[0043]在像素着色器中,对所述颜色缓存器中存储的所述不透明渲染阶段的场景颜色进行采样处理以及编码处理,将所述采样处理以及所述编码处理的处理结果输出到所述渲染纹理。
[0044]可选地,所述采样模块,用于:
[0045]在像素着色器中,获取当前需要处理的片段,确定所述片段对应的被反射点的世界空间坐标;
[0046]获取所述被反射点坐标对应的被反射点深度;
[0047]若所述被反射点深度满足预设条件,则对待采样场景颜色进行采样处理和解码处理,以获得水面的反射效果数据。
[0048]可选地,所述采样模块,用于:
[0049]获取所述片段在屏幕空间中对应的坐标;
[0050]基于所述片段在屏幕空间中对应的坐标,确定所述片段在世界空间中对应的坐标;
[0051]获取所述片段相对于相机的位置;
[0052]基于所述片段相对于所述相机的位置,确定反射向量;
[0053]从所述片段在所述世界空间中对应的坐标沿所述反射向量的方向步进预设距离,得到所述片段对应的被反射点的世界空间坐标。
[0054]可选地,所述采样模块,用于:
[0055]获取所述片段对应的片段深度;
[0056]若所述被反射点深度大于所述片段深度,且所述相机的视线向量与所述反射向量之间的夹角大于预设角度,则对待采样场景颜色进行采样处理和解码处理。
[0057]可选地,所述采样模块,用于:
[0058]在像素着色器中,获取当前需要处理的片段,确定所述片段对应的水面部分在屏幕空间中对应的坐标;
[0059]获取扭曲程度;
[0060]基于所述扭曲程度对所述片段在所述屏幕空本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种水面渲染方法,其特征在于,包括:通过移动端对应的渲染管线完成不透明渲染阶段的渲染处理,以得到所述不透明渲染阶段的场景颜色;在所述渲染管线中,基于所述不透明渲染阶段的场景颜色进行渲染处理,以得到待采样场景颜色;在所述渲染管线中的半透明渲染阶段,对所述待采样场景颜色进行采样处理,以分别获得水面的反射效果数据和折射效果数据。2.根据权利要求1所述的方法,其特征在于,所述基于所述不透明渲染阶段的场景颜色进行渲染处理,包括:创建渲染纹理;绑定颜色缓存器中存储的所述不透明渲染阶段的场景颜色作为输入,并将所述渲染纹理设定为渲染目标,进行渲染处理。3.根据权利要求2所述的方法,其特征在于,所述绑定颜色缓存器中存储的所述不透明渲染阶段的场景颜色作为输入,并将所述渲染纹理设定为渲染目标,进行渲染处理,包括:在像素着色器中,对所述颜色缓存器中存储的所述不透明渲染阶段的场景颜色进行采样处理以及编码处理,将所述采样处理以及所述编码处理的处理结果输出到所述渲染纹理。4.根据权利要求1所述的方法,其特征在于,所述对所述待采样场景颜色进行采样处理,以获得水面的反射效果数据,包括:在像素着色器中,获取当前需要处理的片段,确定所述片段对应的被反射点的世界空间坐标;获取所述被反射点对应的被反射点深度;若所述被反射点深度满足预设条件,则对所述待采样场景颜色进行采样处理和解码处理,以获得水面的反射效果数据。5.根据权利要求4所述的方法,其特征在于,所述确定所述片段对应的被反射点的世界空间坐标,包括:获取所述片段在屏幕空间中对应的坐标;基于所述片段在屏幕空间中对应的坐标,确定所述片段在世界空间中对应的坐标;获取所述片段相对于相机的位置;基于所述片段相对于所述相机的位置,确定反射向量;从所述片段在所述世界空间中对应的坐标沿所述反射向量的方向步进预设距离,得到所述被反射点的世界空间坐标。6.根据权利要求5所述的方法,其特征在于,所述若所述被...

【专利技术属性】
技术研发人员:殷龙飞代天麒
申请(专利权)人:天津亚克互动科技有限公司
类型:发明
国别省市:

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

1