首页 / 专利库 / 单位和数量 / 显色指数 / 虚拟海面渲染方法及系统

虚拟海面渲染方法及系统

阅读:809发布:2020-05-08

专利汇可以提供虚拟海面渲染方法及系统专利检索,专利查询,专利分析的服务。并且本公开是关于一种虚拟海面 渲染 方法及系统,该方法包括:确定多种候选渲染处理方式的优先级;其中,每一候选渲染处理方式用于将待渲染的虚拟海面渲染出相应的美术效果;根据各候选渲染处理方式的优先级建立各候选渲染处理方式与移动终端的性能参数之间的映射关系;检测一用于显示待渲染的虚拟海面的预设移动终端的性能参数;根据预设移动终端的性能参数以及映射关系从候选渲染处理方式中确定被选渲染处理方式;以及通过被选渲染处理方式对预设移动终端显示的待渲染的虚拟海面进行渲染。本公开能够根据移动终端的性能参数选择与该性能参数匹配的渲染处理方式,从而显示与移动终端相适宜的美术效果。,下面是虚拟海面渲染方法及系统专利的具体信息内容。

1.一种虚拟海面渲染方法,其特征在于,包括:
确定多种候选渲染处理方式的优先级;其中,每一所述候选渲染处理方式用于将待渲染的虚拟海面渲染出相应的美术效果;
根据各所述候选渲染处理方式的优先级建立各所述候选渲染处理方式与移动终端的性能参数之间的映射关系;
检测一用于显示所述待渲染的虚拟海面的预设移动终端的性能参数;
根据所述预设移动终端的性能参数以及所述映射关系从所述候选渲染处理方式中确定被选渲染处理方式;以及
通过所述被选渲染处理方式对所述预设移动终端显示的所述待渲染的虚拟海面进行渲染。
2.根据权利要求1所述的虚拟海面渲染方法,其特征在于,所述候选渲染处理方式包括法线贴图、模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域以及配置倒影中的一种或多种。
3.根据权利要求2所述的虚拟海面渲染方法,其特征在于,在所述候选渲染处理方式中,所述法线贴图的优先级最高,所述配置倒影的优先级最低。
4.根据权利要求2所述的虚拟海面渲染方法,其特征在于,所述法线贴图的渲染处理方式包括:
采用辅助光线照射所述待渲染的虚拟海面,以在所述待渲染的虚拟海面上形成照射点;
判断所述辅助光线与所述照射点对应的法线之间的夹大小,并根据所述夹角大小对所述照射点的颜色进行渲染。
5.根据权利要求4所述的虚拟海面渲染方法,其特征在于,其中:
当所述辅助光线与所述照射点对应的法线之间的夹角趋近于0°时,采用趋近于第一预设颜色的颜色对所述照射点进行渲染,所述第一预设颜色表示所述虚拟海面上一点的折射颜色;
当所述辅助光线与所述照射点对应的法线之间的夹角趋近于90°时,采用趋近于第二预设颜色的颜色对所述照射点进行渲染,所述第二预设颜色表示所述虚拟海面上一点的反射颜色。
6.根据权利要求2所述的虚拟海面渲染方法,其特征在于,所述模拟顶点波浪动画的渲染处理方式包括:
针对所述虚拟海面上的每一顶点,对所述顶点的法线进行多次采样
根据所述采样的采样结果创建方向、速度、频率和振幅均不同的abs(sin)函数;以及将多个所述abs(sin)函数叠加,以计算出所述顶点的高低变化。
7.根据权利要求2所述的虚拟海面渲染方法,其特征在于,所述白沫贴图的渲染处理方式包括:
判断所述虚拟海面的高度是否高于一预设高度;
在判断出所述虚拟海面的高度高于所述预设高度的情况下,将所述虚拟海面高出所述预设高度的部分混合白沫的颜色。
8.根据权利要求4所述的虚拟海面渲染方法,其特征在于,所述高光处理的渲染处理方式包括:
通过改变与所述法线贴图中各所述照射点对应的高光指数实现所述高光处理。
9.根据权利要求2所述的虚拟海面渲染方法,其特征在于,所述实现浅滩区域的渲染处理方式包括:
通过一离线深度图计算所述虚拟海面与虚拟海底之间的距离;
根据所述虚拟海面与所述虚拟海底之间的距离设置虚拟陆地与所述虚拟海面交界处的所述虚拟海面的透明度,以实现浅滩区域的渲染处理。
10.根据权利要求5所述的虚拟海面渲染方法,其特征在于,所述配置倒影的渲染处理方式包括:
计算所述虚拟海面各顶点的屏幕坐标;
将计算出的各顶点的屏幕坐标换算成倒影贴图的纹理坐标,以确定倒影的位置
对所述倒影贴图的颜色进行采样;以及
将所述倒影贴图的颜色与所述第一预设颜色混合。
11.根据权利要求2所述的虚拟海面渲染方法,其特征在于,所述配置倒影的渲染处理方式包括一高光阻塞方法,所述高光阻塞方法包括:
计算所述虚拟海面各顶点的屏幕坐标;
将计算出的各顶点的屏幕坐标换算成倒影贴图的纹理坐标,以确定倒影的位置;以及在生成所述倒影贴图的纹理坐标的过程中,将与倒影对应的物体是否遮挡高光的信息写入一透明通道中,以实现高光阻塞。
12.一种虚拟海面渲染系统,其特征在于,包括:
优先级确定模,用于确定多种候选渲染处理方式的优先级;其中,每一所述候选渲染处理方式用于将待渲染的虚拟海面渲染出相应的美术效果;
映射关系建立模块,用于根据各所述候选渲染处理方式的优先级建立各所述候选渲染处理方式与移动终端的性能参数之间的映射关系;
检测模块,用于检测一用于显示所述待渲染的虚拟海面的预设移动终端的性能参数;
渲染处理方式确定模块,用于根据所述预设移动终端的性能参数以及所述映射关系从所述候选渲染处理方式中确定被选渲染处理方式;以及
渲染模块,用于通过所述被选渲染处理方式对所述预设移动终端显示的所述待渲染的虚拟海面进行渲染。
13.根据权利要求12所述的虚拟海面渲染系统,其特征在于,所述候选渲染处理方式包括法线贴图、模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域以及配置倒影中的一种或多种。
14.根据权利要求13所述的虚拟海面渲染系统,其特征在于,在所述候选渲染处理方式中,所述法线贴图的优先级最高,所述配置倒影的优先级最低。
15.根据权利要求13所述的虚拟海面渲染系统,其特征在于,所述法线贴图的渲染处理方式包括:
采用辅助光线照射所述待渲染的虚拟海面,以在所述待渲染的虚拟海面上形成照射点;
判断所述辅助光线与所述照射点对应的法线之间的夹角大小,并根据所述夹角大小对所述照射点的颜色进行渲染。
16.根据权利要求15所述的虚拟海面渲染系统,其特征在于,其中:
当所述辅助光线与所述照射点对应的法线之间的夹角趋近于0°时,采用趋近于第一预设颜色的颜色对所述照射点进行渲染,所述第一预设颜色表示所述虚拟海面上一点的折射颜色;
当所述辅助光线与所述照射点对应的法线之间的夹角趋近于90°时,采用趋近于第二预设颜色的颜色对所述照射点进行渲染,所述第二预设颜色表示所述虚拟海面上一点的反射颜色。
17.根据权利要求13所述的虚拟海面渲染系统,其特征在于,所述模拟顶点波浪动画的渲染处理方式包括:
针对所述虚拟海面上的每一顶点,对所述顶点的法线进行多次采样;
根据所述采样的采样结果创建方向、速度、频率和振幅均不同的abs(sin)函数;以及将多个所述abs(sin)函数叠加,以计算出所述顶点的高低变化。
18.根据权利要求13所述的虚拟海面渲染系统,其特征在于,所述白沫贴图的渲染处理方式包括:
判断所述虚拟海面的高度是否高于一预设高度;
在判断出所述虚拟海面的高度高于所述预设高度的情况下,将所述虚拟海面高出所述预设高度的部分混合白沫的颜色。
19.根据权利要求15所述的虚拟海面渲染系统,其特征在于,所述高光处理的渲染处理方式包括:
通过改变与所述法线贴图中各所述照射点对应的高光指数实现所述高光处理。
20.根据权利要求13所述的虚拟海面渲染系统,其特征在于,所述实现浅滩区域的渲染处理方式包括:
通过一离线深度图计算所述虚拟海面与虚拟海底之间的距离;
根据所述虚拟海面与所述虚拟海底之间的距离设置虚拟陆地与所述虚拟海面交界处的所述虚拟海面的透明度,以实现浅滩区域的渲染处理。
21.根据权利要求16所述的虚拟海面渲染系统,其特征在于,所述配置倒影的渲染处理方式包括:
计算所述虚拟海面各顶点的屏幕坐标;
将计算出的各顶点的屏幕坐标换算成倒影贴图的纹理坐标,以确定倒影的位置;
对所述倒影贴图的颜色进行采样;以及
将所述倒影贴图的颜色与所述第一预设颜色混合。
22.根据权利要求13所述的虚拟海面渲染系统,其特征在于,所述配置倒影的渲染处理方式包括一高光阻塞方法,所述高光阻塞方法包括:
计算所述虚拟海面各顶点的屏幕坐标;
将计算出的各顶点的屏幕坐标换算成倒影贴图的纹理坐标,以确定倒影的位置;以及在生成所述倒影贴图的纹理坐标的过程中,将与倒影对应的物体是否遮挡高光的信息写入一透明通道中,以实现高光阻塞。

说明书全文

虚拟海面渲染方法及系统

技术领域

[0001] 本公开涉及图像渲染技术领域,具体而言,涉及一种虚拟海面渲染方法以及虚拟海面渲染系统。

背景技术

[0002] 随着移动通信技术的快速发展,在触控终端上出现了越来越多的游戏应用。在游戏应用的运行过程中,触控终端按照一定的布局将各种游戏对象显示出来,以便向用户呈现游戏场景以及提供游戏操作界面。
[0003] 在主机游戏中,游戏的虚拟海面的实时渲染效果比较成熟。具体的,通过图像处理器(Graphics Processing Unit,GPU)的顶点纹理采样功能(Vertex Texture Fetch,VTF)模拟复杂的顶点起伏,然后通过细分曲面技术,细化顶点网格,使得波浪运动更加细腻并且细节更加丰富。然而,起伏的效果取决于顶点的细密程度和起伏的不规则程度。对移动终端(例如,手机)而言,由于设备硬件的多样性,不是所有的移动终端都支持顶点纹理采样功能,同时,受限于GPU处理能(例如,兼容性、带宽等),移动终端不能使用过多的顶点制作海面。
[0004] 另一种实现虚拟海面实时渲染的方法是基于屏幕空间的逐像素海面起伏计算。具体的,在绘制虚拟海面上每一个像素时可以基于屏幕空间反向求解出游戏空间上的坐标,然后将所述坐标当作顶点,以模拟起伏过程。然而,逐像素计算所产生的开销与屏幕中实际占用的像素数量成正比,因此,在像素数量庞大的情况下,移动终端GPU可能产生无法正常处理的问题。另外,该方法由于在像素层面上做起伏模拟,故其显示范围不会超出整个像素范围的外轮廓,因此,在用户的视线与虚拟海面平行的情况下,虚拟海面的显示可能会出现问题。
[0005] 鉴于此,需要一种新的虚拟海面渲染方法以及虚拟海面渲染系统。
[0006] 需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。发明内容
[0007] 本公开的目的在于提供一种虚拟海面渲染方法以及虚拟海面渲染系统,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
[0008] 根据本公开的一个方面,提供一种虚拟海面渲染方法,包括:
[0009] 确定多种候选渲染处理方式的优先级;其中,每一所述候选渲染处理方式用于将待渲染的虚拟海面渲染出相应的美术效果;
[0010] 根据各所述候选渲染处理方式的优先级建立各所述候选渲染处理方式与移动终端的性能参数之间的映射关系;
[0011] 检测一用于显示所述待渲染的虚拟海面的预设移动终端的性能参数;
[0012] 根据所述预设移动终端的性能参数以及所述映射关系从所述候选渲染处理方式中确定被选渲染处理方式;以及
[0013] 通过所述被选渲染处理方式对所述预设移动终端显示的所述待渲染的虚拟海面进行渲染。
[0014] 在本公开的一种示例性实施例中,所述候选渲染处理方式包括法线贴图、模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域以及配置倒影中的一种或多种。
[0015] 在本公开的一种示例性实施例中,在所述候选渲染处理方式中,所述法线贴图的优先级最高,所述配置倒影的优先级最低。
[0016] 在本公开的一种示例性实施例中,所述法线贴图的渲染处理方式包括:
[0017] 采用辅助光线照射所述待渲染的虚拟海面,以在所述待渲染的虚拟海面上形成照射点;
[0018] 判断所述辅助光线与所述照射点对应的法线之间的夹大小,并根据所述夹角大小对所述照射点的颜色进行渲染。
[0019] 在本公开的一种示例性实施例中,其中:
[0020] 当所述辅助光线与所述照射点对应的法线之间的夹角趋近于0°时,采用趋近于第一预设颜色的颜色对所述照射点进行渲染;
[0021] 当所述辅助光线与所述照射点对应的法线之间的夹角趋近于90°时,采用趋近于第二预设颜色的颜色对所述照射点进行渲染。
[0022] 在本公开的一种示例性实施例中,所述模拟顶点波浪动画的渲染处理方式包括:
[0023] 针对所述虚拟海面上的每一顶点,对所述顶点的法线进行多次采样;
[0024] 根据所述采样的采样结果创建方向、速度、频率和振幅均不同的abs(sin)函数;以及
[0025] 将多个所述abs(sin)函数叠加,以计算出所述顶点的高低变化。
[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] 当所述辅助光线与所述照射点对应的法线之间的夹角趋近于0°时,采用趋近于第一预设颜色的颜色对所述照射点进行渲染;
[0056] 当所述辅助光线与所述照射点对应的法线之间的夹角趋近于90°时,采用趋近于第二预设颜色的颜色对所述照射点进行渲染。
[0057] 在本公开的一种示例性实施例中,所述模拟顶点波浪动画的渲染处理方式包括:
[0058] 针对所述虚拟海面上的每一顶点,对所述顶点的法线进行多次采样;
[0059] 根据所述采样的采样结果创建方向、速度、频率和振幅均不同的abs(sin)函数;以及
[0060] 将多个所述abs(sin)函数叠加,以计算出所述顶点的高低变化。
[0061] 在本公开的一种示例性实施例中,所述白沫贴图的渲染处理方式包括:
[0062] 判断所述虚拟海面的高度是否高于一预设高度;
[0063] 在判断出所述虚拟海面的高度高于所述预设高度的情况下,将所述虚拟海面高出所述预设高度的部分混合白沫的颜色。
[0064] 在本公开的一种示例性实施例中,所述高光处理的渲染处理方式包括:
[0065] 通过改变与所述法线贴图中各所述照射点对应的高光指数实现所述高光处理。
[0066] 在本公开的一种示例性实施例中,所述实现浅滩区域的渲染处理方式包括:
[0067] 通过一离线深度图计算所述虚拟海面与虚拟海底之间的距离;
[0068] 根据所述虚拟海面与所述虚拟海底之间的距离设置虚拟陆地与所述虚拟海面交界处的所述虚拟海面的透明度,以实现浅滩区域的渲染处理。
[0069] 在本公开的一种示例性实施例中,所述配置倒影的渲染处理方式包括:
[0070] 计算所述虚拟海面各顶点的屏幕坐标;
[0071] 将计算出的各顶点的屏幕坐标换算成倒影贴图的纹理坐标,以确定倒影的位置;
[0072] 对所述倒影贴图的颜色进行采样;以及
[0073] 将所述倒影贴图的颜色与所述第一预设颜色混合。
[0074] 在本公开的一种示例性实施例中,所述配置倒影的渲染处理方式包括一高光阻塞方法,所述高光阻塞方法包括:
[0075] 计算所述虚拟海面各顶点的屏幕坐标;
[0076] 将计算出的各顶点的屏幕坐标换算成倒影贴图的纹理坐标,以确定倒影的位置;以及
[0077] 在生成所述倒影贴图的纹理坐标的过程中,将与倒影对应的物体是否遮挡高光的信息写入一透明通道中,以实现高光阻塞。
[0078] 在本公开的一些实施例所提供的技术方案中,通过将游戏的虚拟海面的渲染处理方式进行优先级排序,建立渲染处理方式的优先级与移动终端的性能参数之间的映射关系,并且根据所述映射关系对一预设移动终端显示的待渲染的虚拟海面进行渲染,一方面,可以根据移动终端的性能参数选择与该性能参数匹配的渲染处理方式,从而显示与所述移动终端相适宜的美术效果;另一方面,通过选择性地进行渲染处理,释放了移动终端处理器的资源,使得移动终端的其他功能能够被正常使用。
[0079] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明
[0080] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0081] 图1示意性示出了根据本公开的示例性实施方式的虚拟海面渲染方法的流程图
[0082] 图2示出了采用颜色通道存储法线向量的示意图;
[0083] 图3示出了确定虚拟海面的渲染颜色的方法的示意图;
[0084] 图4示意性示出了待渲染的虚拟海面在进行法线贴图之后的游戏效果图;
[0085] 图5示意性示出了abs(sin)函数的曲线图;
[0086] 图6示意性示出了待渲染的虚拟海面在进行白沫贴图之后的游戏效果图;
[0087] 图7示出了辅助光线所产生的高光反射的示意图;
[0088] 图8示出了为准确计算高光强度而增强法线细节的方法示意图;
[0089] 图9示意性示出了待渲染的虚拟海面在进行高光处理之后的游戏效果图;
[0090] 图10示意性示出了为实现浅滩区域而生成的离线深度图;
[0091] 图11示意性示出了浅滩区域的游戏效果图;
[0092] 图12示意性示出了待渲染的虚拟海面在进行配置倒影之后的游戏效果图;以及[0093] 图13示意性示出了根据本公开的示例性实施方式的虚拟海面渲染系统100的方框图

具体实施方式

[0094] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
[0095] 此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0096] 本示例性实施方式中首先提供了一种虚拟海面渲染方法,该虚拟海面渲染方法主要应用于一移动终端。该移动终端例如可以为手机、平板电脑游戏机、PDA等各种电子设备。
[0097] 图1示意性示出了根据本公开的示例性实施方式的虚拟海面渲染方法的流程图。参考图1,所述虚拟海面渲染方法可以包括以下步骤:
[0098] 步骤S10.确定多种候选渲染处理方式的优先级;其中,每一所述候选渲染处理方式用于将待渲染的虚拟海面渲染出相应的美术效果;
[0099] 步骤S20.根据各所述候选渲染处理方式的优先级建立各所述候选渲染处理方式与移动终端的性能参数之间的映射关系;
[0100] 步骤S30.检测一用于显示所述待渲染的虚拟海面的预设移动终端的性能参数;
[0101] 步骤S40.根据所述预设移动终端的性能参数以及所述映射关系从所述候选渲染处理方式中确定被选渲染处理方式;以及
[0102] 步骤S50.通过所述被选渲染处理方式对所述预设移动终端显示的所述待渲染的虚拟海面进行渲染。
[0103] 在本示例性实施方式中,一方面,可以根据移动终端的性能参数选择与该性能参数匹配的渲染处理方式,从而显示与所述移动终端相适宜的美术效果;另一方面,通过选择性地进行渲染处理,释放了移动终端处理器的资源,使得移动终端的其他功能能够被正常使用。
[0104] 下面将对本示例实施方式中虚拟海面渲染方法的各步骤进行更进一步的说明。
[0105] 在步骤S10中,确定多种候选渲染处理方式的优先级;其中,每一所述候选渲染处理方式用于将待渲染的虚拟海面渲染出相应的美术效果。
[0106] 根据本公开的一些实施例,所述候选渲染处理方式可以包括法线贴图、模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域以及配置倒影中的一种或多种。但本公开不限于此,所述候选渲染处理方式还可以包括其他用于渲染虚拟海面的处理方式,例如,生成纹等。
[0107] 在所述候选渲染处理方式中,法线贴图的优先级最高,配置倒影的优先级最低。在本公开的示例性实施方式中,模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域的优先级可以相同或部分相同。当然,渲染处理方式的优先级可以根据虚拟海面的实际显示效果确定,例如,法线贴图、模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域、配置倒影的优先级可以依次降低。本领域技术人员应当理解的是,渲染处理方式的优先级并不以本示例实施方式为限。
[0108] 在步骤S20中,根据各所述候选渲染处理方式的优先级建立各所述候选渲染处理方式与移动终端的性能参数之间的映射关系。
[0109] 根据本公开的一些实施例,移动终端的性能参数可以包括但不限于GPU性能和屏幕分辨率。可以建立移动终端的性能参数与候选渲染处理方式的映射关系,并保存所述映射关系。例如,在GPU性能较低的情况下,可以只建立该GPU性能与法线贴图的映射关系。而在GPU性能较高且屏幕分辨率足够的情况下,可以将该GPU性能与屏幕分辨率视为一整体,建立与所有候选渲染处理方式的映射关系。本领域技术人员应当理解的是,可以存在多种不同方式的映射关系,本公开的示例性实施方式对此不做特殊限定。
[0110] 此外,根据本公开的另一些实施例,用户还可以根据游戏体验需求手动配置或修改映射关系。
[0111] 在步骤S30中,检测一用于显示所述待渲染的虚拟海面的预设移动终端的性能参数。
[0112] 根据本公开的一些实施例,可以通过软件的方式实现该检测过程,并且还可以存储该检测结果。
[0113] 在步骤S40中,根据所述预设移动终端的性能参数以及所述映射关系从所述候选渲染处理方式中确定被选渲染处理方式。
[0114] 根据本公开的一些实施例,在步骤S30检测到预设移动终端的性能参数之后,结合步骤S20中形成的映射关系,确定预设移动终端所要进行的渲染处理方式,例如,在GPU性能较低的情况下,可以选择只进行法线贴图,或者在进行法线贴图的情况下,进行虚拟海面的顶点波浪动画的模拟处理。在GPU性能较高且屏幕分辨率足够的情况下,可以执行所有候选渲染处理,以满足用户对游戏体验的需求。
[0115] 然而,本领域技术人员容易理解的是,处理模块(例如,服务器)中可以存储各种GPU的型号及其性能信息以及屏幕分辨率信息,当接收到对一虚拟海面的渲染请求时,处理模块可以根据该渲染请求向用户推荐一个或多个渲染处理方式,由用户自行对渲染处理方式进行选择,随后,根据用户的选择结果对该虚拟海面进行渲染。
[0116] 在步骤S50中,通过所述被选渲染处理方式对所述预设移动终端显示的所述待渲染的虚拟海面进行渲染。
[0117] 对预设移动终端实现的待待渲染的虚拟海面进行渲染的处理方式可以包括步骤S10中所列的渲染处理方式,这些渲染处理方式可以是传统的渲染处理方式,也可以是为了减少系统资源消耗而对所述传统的渲染处理方式进行改进的处理方式。下面将对步骤S10中记载的渲染处理方式进行详细地说明。
[0118] 在法线贴图的渲染处理方式中,待渲染的虚拟海面可以由多个三角形面片组合而成。针对每一个三角形面片的法线,将法线在空间直角坐标系中的xyz分量的偏移量信息分别保存在与该法线对应的三角形面片的红绿蓝(RGB)通道中。图2示出了采用颜色通道存储法线向量的示意图,其中,箭头1表示三角形面片的法线,箭头2表示偏移后的法线,而箭头3表示法线偏移量。
[0119] 根据本公开的一些实施例,可以采用辅助光线照射待渲染的虚拟海面,本领域技术人员应当理解的是,所述辅助光线并非实际的光线,而是虚拟出的用于确定待渲染的虚拟海面的渲染颜色的辅助线。具体的,当辅助光线照射在待渲染的虚拟海面上时,可以在所述待渲染的虚拟海面上形成照射点。判断所述辅助光线与所述照射点对应的法线之间的夹角大小,并根据所述夹角大小对所述照射点的颜色进行渲染。
[0120] 具体的,参考图3对虚拟海面的颜色渲染进行描述,其中,图3示出了确定虚拟海面的渲染颜色的方法的示意图。
[0121] 为了模拟虚拟海面的阳光折射色彩,需要至少配置第一预设颜色和第二预设颜色,其中,该第一预设颜色可以表示虚拟海面上一点的折射颜色,该第二预设颜色可以表示虚拟海面上一点的反射颜色。图3上方的矩形条用于表示第一预设颜色(最左端)到第二预设颜色(最右端)的渐变色条。针对虚拟海面上任一点,当辅助光线与照射点对应的法线之间的夹角趋近于0°时,采用趋近于第一预设颜色的颜色对所述照射点进行渲染;当辅助光线与照射点对应的法线之间的夹角趋近于90°时,采用趋近于第二预设颜色的颜色对所述照射点进行渲染。具体而言,可以将辅助光线照射方向的向量和照射点的法线向量做点乘运算,得到的值作为第一预设颜色和第二预设颜色的混合权重,以确定照射点的渲染颜色。
[0122] 通过上述方法对虚拟海面上每一点进行颜色渲染后,得到如图4所示的待渲染的虚拟海面在进行法线贴图之后的游戏效果图。
[0123] 在模拟顶点波浪动画的渲染处理方式中,可以利用海面着色器(shader)对虚拟海面进行逐顶点计算。具体的,首先,针对虚拟海面上的每一顶点,可以对所述顶点的法线进行多次采样,随后,根据采样结果创建方向、速度、频率和振幅均不同的abs(sin)函数,图5示意性示出了abs(sin)函数的曲线图。根据本公开的一些实施例,将四个方向、速度、频率和振幅均不同的abs(sin)函数进行叠加后计算出虚拟海面的顶点的高低变化。然而,还可以根据移动终端的处理能力对除数量为四个之外的数量的abs(sin)函数进行叠加,并不以本示例实施方式为限。
[0124] 在白沫贴图的渲染处理方式中,首先,判断虚拟海面的高度是否高于一预设高度,其中,该预设高度可以是根据实际显示效果而确定的高度。随后,在判断出虚拟海面的高度高于该预设高度的情况下,可以将虚拟海面高出该预设高度的部分混合白沫的颜色。图6示意性示出了待渲染的虚拟海面在进行白沫贴图之后的游戏效果图。
[0125] 根据传统的高光处理的渲染处理方式,可以利用Blinn-Phong光照模型公式计算高光。
[0126] 图7示出了辅助光线所产生的高光反射的示意图。参考图7,N表示虚拟海面上一点的法线,L表示入射的辅助光线,R表示反射光线,V表示用户观看虚拟海面的视线,H表示L与V的中线。虚拟海面上任一点的高光强度可以表示为:
[0127] 高光强度=pow(dot(H,N),f)
[0128] 其中,f表示高光的衰竭系数。
[0129] 然而,在虚拟海面上,当法线大量平铺时,每张法线贴图实际上在移动终端的屏幕中占据较小的面积,导致法线可能变得模糊,影响了高光的计算。为了改善这种情况,根据本公开的一些实施例,将高光的衰竭系数f保存至虚拟海面的法线贴图的蓝色通道中,由此,通过改变在法线贴图的蓝色通道中每一点的高光指数,提高了高光计算的准确性。
[0130] 然而,法线贴图将每一个像素视作一个法线方向,而像素在硬件中可能被缩放、插值,导致最终每一个像素表示的法线可能与设想的效果存在较大偏差。
[0131] 为了解决该问题,图8示出了为准确计算高光强度而增强法线细节的方法示意图。其中,图8(a)示出了两个相邻像素的法线的示意图,图8(b)示出了图8(a)中的两个相邻像素的法线合并为一个像素的示意图。
[0132] 根据本公开的另一些实施例,可以增加一第三通道,利用该第三通道增强所述两个相邻像素的渲染效果。图8(c)示出了利用第三通道增强渲染效果的示意图。另外,可以配置第一高光因子factor1和第二高光因子factor2,高光强度还可以表示为pow(dot(N,L),factor1)*factor2,其中,可以通过第三通道控制第一高光因子factor1的值。上式中,因为dot(N,L)不会有较大的变化幅度,所以可以改变factor1/factor2的值来弥补由于法线的合并而产生的误差。
[0133] 为直观地展现高光处理后的效果,图9示意性示出了待渲染的虚拟海面在进行高光处理之后的游戏效果图。
[0134] 在实现浅滩区域的渲染处理方式中,目前,通过一观察点到虚拟海面上一点的距离d1以及该观察点到所述点同一竖直线上的海底的点的距离d2之间的距离差Δd确定该点的透明度,具体的,Δd越接近0,该点越透明。然而,该方法需要对虚拟海面上所有点的透明度进行计算,对移动终端的GPU带宽提出了更高的要求,并且计算负担较大。
[0135] 根据本公开的一些实施例,通过一离线深度图计算虚拟海面与虚拟海底之间的距离,并且根据虚拟海面与虚拟海底之间的距离设置虚拟陆地与虚拟海面交界处的虚拟海面的透明度,以实现浅滩区域的渲染处理。
[0136] 例如,参考图10中所示,离线深度图可以是游戏开发人员在设计虚拟场景时生成的一张灰度图(该灰度是俯视图)。离线深度图中的每一个点记录了该点对应的海拔高度。灰度图的范围通常为[0,255],其中,黑色为0,白色为255。例如,[0,255]对应的实际海拔范围可以是[-108,20],该海拔范围足够表现海水的半透明效果。利用离线深度图的优点在于,一方面,着色器只需进行一次采样,然后将采样后的结果乘以一个缩放因子即可还原实际的海拔高度,不需要每一拷贝一次深度缓存(depth_buffer),同时也不需要逐像素的线性化计算;另一方面,对于硬件来说,该深度图离线是一张普通的贴图,兼容性较好。
[0137] 图11示意性示出了浅滩区域的游戏效果图。此外,利用离线深度图还可以绘制出岸边浪花的效果,而不需要额外的任何开销。具体的,可以利用上文所述的法线贴图的第三通道,将第三通道的颜色叠加到虚拟海面。当然,在本公开的其他示例性实施例中,还可以通过其他方式实现岸边浪花效果,本示例性实施方式中对此不做特殊限定。
[0138] 在配置倒影的渲染处理方式中,配置倒影的方法可以包括:首先,通过着色器计算出虚拟海面的顶点的屏幕坐标;然后,将计算出的各顶点的屏幕坐标换算成倒影贴图的纹理坐标,以确定倒影的位置;其次,对所述倒影贴图的颜色进行采样,并且将所述倒影贴图的颜色与所述第一预设颜色混合。
[0139] 根据本公开的另一些实施例,配置倒影的方法也可以包括:首先,通过着色器计算出虚拟海面的顶点的屏幕坐标;接下来,将计算出的各顶点的屏幕坐标换算成倒影贴图的纹理坐标,以确定倒影的位置;随后,在生成所述倒影贴图的纹理坐标的过程中,将与倒影对应的物体是否遮挡高光的信息写入一透明通道中,以实现高光阻塞。在该方法中,倒影贴图上不透明的物体会遮挡高光,透明的物体允许高光穿透。例如,虚拟天空和虚拟太阳是“全透明”的,虚拟层和虚拟陆地上的物体可以被认为是“不透明”的。这样的处理几乎不产生额外的开销。在计算海面高光时,可以直接采用对应位置的倒影颜色遮蔽高光部分,这种方法能够较好地满足视觉要求。
[0140] 图12示意性示出了待渲染的虚拟海面在进行配置倒影之后的游戏效果图。如图12所示,本公开的示例性实施方式的配置倒影的方法能够较好地实现倒影效果。此外,所述方法几乎不使移动终端产生额外的开销。
[0141] 本领域技术人员应当理解的是,除法线贴图之外,上述候选渲染处理方式均是可选进行的。根据本公开的一些实施例,除考虑虚拟海面的显示效果之外,可以基于移动终端的带宽开销以及计算量确定各候选渲染处理方式的优先级。
[0142] 例如,在上面描述的基础上,可以根据各候选渲染处理方式的性能开销将虚拟海面的渲染方式划分成4种配置,即低配置、中配置、较佳配置和高配置,其中:
[0143] 低配置,在法线贴图中进行2次采样,不进行模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域以及配置倒影等处理。低配置显示效果差。
[0144] 中配置,在法线贴图中进行4次采样,模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域功能开启,配置倒影的功能关闭。在中配置中,可以基本形成虚拟海面形态。
[0145] 较佳配置,在法线贴图中进行4次采样,模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域功能开启,将倒影配置成0.25倍的分辨率。在较佳配置中,虚拟海面的整体视觉效果基本显现,效果较好。
[0146] 高配置,在在法线贴图中进行4次采样,模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域功能开启,将倒影配置成0.5倍的分辨率。在高配置中,已显现出虚拟海面的整体视觉效果,视觉层次感较好。
[0147] 应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0148] 进一步的,本示例实施方式中还提供了一种虚拟海面渲染系统,参考图13,根据本公开的示例性实施方式的虚拟海面渲染系统100可以包括优先级确定模块110、映射关系建立模块120、检测模块130、渲染处理方式确定模块140以及渲染模块150,其中:
[0149] 优先级确定模块110,可以用于确定多种候选渲染处理方式的优先级;其中,每一所述候选渲染处理方式用于将待渲染的虚拟海面渲染出相应的美术效果;
[0150] 映射关系建立模块120,可以用于根据各所述候选渲染处理方式的优先级建立各所述候选渲染处理方式与移动终端的性能参数之间的映射关系;
[0151] 检测模块130,可以用于检测一用于显示所述待渲染的虚拟海面的预设移动终端的性能参数;
[0152] 渲染处理方式确定模块140,可以用于根据所述预设移动终端的性能参数以及所述映射关系从所述候选渲染处理方式中确定被选渲染处理方式;以及
[0153] 渲染模块150,可以用于通过所述被选渲染处理方式对所述预设移动终端显示的所述待渲染的虚拟海面进行渲染。
[0154] 根据本公开的示例性实施例,所述候选渲染处理方式可以包括法线贴图、模拟顶点波浪动画、白沫贴图、高光处理、实现浅滩区域以及配置倒影中的一种或多种。
[0155] 根据本公开的示例性实施例,在所述候选渲染处理方式中,所述法线贴图的优先级最高,所述配置倒影的优先级最低。
[0156] 根据本公开的示例性实施例,所述法线贴图的渲染处理方式可以包括:采用辅助光线照射所述待渲染的虚拟海面,以在所述待渲染的虚拟海面上形成照射点;判断所述辅助光线与所述照射点对应的法线之间的夹角大小,并根据所述夹角大小对所述照射点的颜色进行渲染。
[0157] 根据本公开的示例性实施例,当所述辅助光线与所述照射点对应的法线之间的夹角趋近于0°时,可以采用趋近于第一预设颜色的颜色对所述照射点进行渲染;当所述辅助光线与所述照射点对应的法线之间的夹角趋近于90°时,可以采用趋近于第二预设颜色的颜色对所述照射点进行渲染。
[0158] 根据本公开的示例性实施例,所述模拟顶点波浪动画的渲染处理方式可以包括:针对所述虚拟海面上的每一顶点,对所述顶点的法线进行多次采样;根据所述采样的采样结果创建方向、速度、频率和振幅均不同的abs(sin)函数;以及将多个所述abs(sin)函数叠加,以计算出所述顶点的高低变化。
[0159] 本示例实施方式中,所述白沫贴图的渲染处理方式可以包括:判断所述虚拟海面的高度是否高于一预设高度;在判断出所述虚拟海面的高度高于所述预设高度的情况下,将所述虚拟海面高出所述预设高度的部分混合白沫的颜色。
[0160] 根据本公开的示例性实施例,所述高光处理的渲染处理方式可以包括通过改变与所述法线贴图中各所述照射点对应的高光指数实现所述高光处理。
[0161] 根据本公开的示例性实施例,所述实现浅滩区域的渲染处理方式可以包括:通过一离线深度图计算所述虚拟海面与虚拟海底之间的距离;根据所述虚拟海面与所述虚拟海底之间的距离设置虚拟陆地与所述虚拟海面交界处的所述虚拟海面的透明度,以实现浅滩区域的渲染处理。
[0162] 根据本公开的示例性实施例,所述配置倒影的渲染处理方式可以包括:计算所述虚拟海面各顶点的屏幕坐标;将计算出的各顶点的屏幕坐标换算成倒影贴图的纹理坐标,以确定倒影的位置;对所述倒影贴图的颜色进行采样;以及将所述倒影贴图的颜色与所述第一预设颜色混合。
[0163] 根据本公开的示例性实施例,所述配置倒影的渲染处理方式还可以包括一高光阻塞方法,所述高光阻塞方法可以包括:计算所述虚拟海面各顶点的屏幕坐标;将计算出的各顶点的屏幕坐标换算成倒影贴图的纹理坐标,以确定倒影的位置;以及在生成所述倒影贴图的纹理坐标的过程中,将与倒影对应的物体是否遮挡高光的信息写入一透明通道中,以实现高光阻塞。
[0164] 上述虚拟海面渲染系统中各模块的具体细节已经在对应的虚拟海面渲染方法中进行了详细想描述,因此此处不再赘述。
[0165] 应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0166] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
[0167] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0168] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈