[发明专利]水面渲染方法、装置及可读存储介质有效
申请号: | 201711268604.4 | 申请日: | 2017-12-05 |
公开(公告)号: | CN107886562B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 苗雨壮;熊波 | 申请(专利权)人: | 北京像素软件科技股份有限公司 |
主分类号: | G06T15/04 | 分类号: | G06T15/04;G06T15/50;A63F13/52 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 宋南 |
地址: | 102200 北京市昌平区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 水面 渲染 方法 装置 可读 存储 介质 | ||
本发明实施例提供一种水面渲染方法、装置及可读存储介质。该方法包括:响应水体区域的构建请求,在游戏场景的目标区域构建由水体网格组成的水体区域;获得水体网格的各个顶点数据和当前游戏场景的光照数据;根据水体网格的各个水体单元网格的顶点数据,计算出每个水体单元网格的水体透明度,并根据光照数据,计算出水体区域的水体颜色;根据预先渲染的反射贴图获取水体区域的反射颜色,并根据菲涅尔值、反射颜色和水体颜色计算出水体区域的目标水体颜色;基于每个水体单元网格的水体透明度和目标水体颜色对水体区域进行渲染。由此,能够在移动终端上快速模拟出良好的水面效果,解决了通常移动终端上模拟水面效果时CPU和GPU性能消耗大的问题。
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种水面渲染方法、装置及可读存储介质。
背景技术
在三维游戏当中,水被当作一种特殊的透明物体进行模拟渲染。为了达到实时反射效果,目前在对水的渲染过程中基本上需要额外渲染一遍游戏场景,对于性能和续航有限的移动终端来说无论是对CPU或GPU都是一种大量的性能消耗,容易出现卡顿掉帧的情况,影响用户的游戏体验。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种水面渲染方法、装置及可读存储介质,以解决在移动终端上模拟水的自然效果时,移动终端的CPU或GPU性能消耗大的问题。
为了实现上述目的,本发明较佳实施例采用的技术方案如下:
本发明较佳实施例提供一种水面渲染方法,应用于移动终端,所述方法包括:
响应水体区域的构建请求,在游戏场景的目标区域构建由水体网格组成的水体区域;
获得所述水体网格的各个水体单元网格的顶点数据和当前游戏场景的光照数据,其中,所述顶点数据包括水面和地面之间的高度差,所述光照数据包括环境光值、主光颜色、主光方向以及菲涅尔值;
根据所述水体网格的各个水体单元网格的顶点数据,计算出每个水体单元网格的水体透明度,并根据所述光照数据,计算出所述水体区域的水体颜色;
根据预先渲染的反射贴图获取所述水体区域的反射颜色,并根据所述菲涅尔值、所述反射颜色和所述水体颜色计算出所述水体区域的目标水体颜色;
基于所述每个水体单元网格的水体透明度和所述目标水体颜色对所述水体区域进行渲染。
在本发明较佳实施例中,所述方法还包括:
渲染所述水体区域的水体流动效果;
所述渲染所述水体区域的水体流动效果,包括:
将所述水体网格的纹理坐标按照预定速度和预定方向移动,获得移动过程中的纹理坐标;
基于移动过程中的纹理坐标从法线贴图中获得移动过程中的法线值;
根据获得的法线值渲染所述水体区域的水体流动效果。
在本发明较佳实施例中,所述将所述水体网格的纹理坐标按照预定速度和预定方向移动,获得移动过程中的纹理坐标,包括:
获得初始纹理坐标;
根据移动时间、所述初始纹理坐标、所述预定速度和所述预定方向,计算移动过程中的纹理坐标。
在本发明较佳实施例中,所述根据所述水体网格的各个水体单元网格的顶点数据,计算出每个水体单元网格的水体透明度,包括:
计算每个水体单元网格对应的水面和地面之间的高度差与预设高度差的比值,其中,当所述比值大于1时,所述比值记为1;
将所述比值作为每个水体单元网格的水体透明度;其中,所述比值越接近0,该水体单元网格的水体越透明,所述比值越接近1,该水体单元网格的水体越不透明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京像素软件科技股份有限公司,未经北京像素软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711268604.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种覆铝基板用钢及其生产方法
- 下一篇:一种轻量化设计覆铝基板及其生产方法