一种融合多源瓦片地图服务的真实感水面渲染方法及系统技术方案

技术编号:39840581 阅读:4 留言:0更新日期:2023-12-29 16:26
本发明专利技术提供一种融合多源瓦片地图服务的真实感水面渲染方法及系统,涉及数字地图渲染和水体模拟技术领域,该方法包括将水面矢量数据和遥感影像数据发布为瓦片地图服务;前端地图渲染引擎根据窗口范围请求地图瓦片;自定义水面矢量瓦片的着色器渲染程序,计算颜色特征

【技术实现步骤摘要】
一种融合多源瓦片地图服务的真实感水面渲染方法及系统


[0001]本专利技术涉及数字地图渲染和水体模拟
,尤其涉及一种融合多源瓦片地图服务的真实感水面渲染方法及系统


技术介绍

[0002]随着三维可视化技术的发展,数字孪生城市建设对三维城市场景的真实感提出了更高的要求

水面是城市三维场景中体现地理环境真实感的关键要素之一

计算机图形学领域现有的水面渲染方法通常采用网格模型,一次性加载所有水面模型到内存,对于大型城市的水域场景渲染,这类方法带来的算力和内存开销是普通计算机难以承受的

因此使用瓦片地图技术来渐进加载

渲染城市级三维场景成为主流技术之一

瓦片地图将一个完整水体在不同观察尺度下,按一定空间区域分割方式,切割成若干部分分别存储在不同瓦片中

该方法解决了大型城市水域场景的渐进加载和实时渲染性能瓶颈问题,但难以使用现有的预制纹理方法来实现真实水面波纹渲染效果,各瓦片共用同一水波法线纹理导致水面效果相似,缺乏多样性和真实性

[0003]目前,城市场景的水面大多基于网格模型进行效果渲染,从场景构建初期就将范围内所有水面模型加载到内存中,对于水域面积较大的城市,此方法性能损耗较大

而在效果方面,计算机图形学领域通常使用法线纹理使物体呈现凹凸变化的褶皱效果,因此在水面渲染时常采用更新法线纹理的方法来模拟动态水波纹效果

现有技术方法中,会通过载入预制的法线纹理,并结合自定义水面颜色来完成水面效果模拟,预制法线纹理决定了最终呈现的水面波动效果,一般整个场景使用同一张法线纹理,导致同一场景内的所有水面效果都雷同

中国专利
CN 116137051 A
公开了一种基于基础法线纹理生成多个衍生法线纹理进行水面渲染的方法,无需输入不同法线纹理也能避免水面效果相似的问题,但是此方法根据预先输入的法线纹理生成随机水面动态效果,且没有关注大范围水面模型构建相关的性能优化,仍然无法实现城市场景中大范围水面的真实感渲染

[0004]因此,亟需一种全面的

综合多源数据的水面渲染方法


技术实现思路

[0005]为此,本专利技术实施例提供了一种融合多源瓦片地图服务的真实感水面渲染方法及系统,用于解决现有技术中水面渲染方法受限于单一的预制法线纹理

水面效果缺乏多样性和真实性等问题

[0006]为了解决上述问题,本专利技术实施例提供了一种融合多源瓦片地图服务的真实感水面渲染方法,所述方法包括:
S1
:获取矢量水面数据和遥感影像数据,并将所述矢量水面数据和所述遥感影像数据分别发布为矢量瓦片地图服务和栅格瓦片地图服务;
S2
: 基于所述矢量瓦片地图服务和所述栅格瓦片地图服务,根据当前地图层级和地图窗口空间范围计算所覆盖的所有地图瓦片,获取地图瓦片行列号集合,遍历行列号集
合请求相同行列号的水面矢量瓦片和栅格影像瓦片;
S3
:获取相同行列号的单张水面矢量瓦片与栅格影像瓦片,自定义水面矢量瓦片的着色器渲染程序,实现基于矢量瓦片的真实感水面渲染,具体包括:
S31
:将栅格影像瓦片以纹理图方式传入水面矢量瓦片片元着色器中;
S32
:计算水面矢量瓦片当前片元的纹理映射坐标,确定水面矢量瓦片与栅格影像瓦片的位置映射关系;
S33
:在水面矢量瓦片片元着色器中,计算当前片元在栅格影像瓦片中的颜色信息,基于所述颜色信息计算水面法线;
S34
: 基于所述颜色信息

所述水面法线

三维光照

环境信息,构建水面着色模型,计算当前片元的水面颜色值;
S35
:为所述当前片元的纹理映射坐标添加周期重复性扰动,返回执行步骤
S33
,重新计算所述当前片元的水面颜色值,将所述当前片元的水面颜色值作为最终结果对水面矢量瓦片进行逐片元的渲染,以实现基于矢量瓦片的真实感水面渲染;
S4
:对前端地图进行平移

缩放操作,重新计算当前地图窗口空间范围所覆盖的瓦片集合,返回执行步骤
S2
,着色器渲染程序更新水面渲染结果,地图窗口刷新显示新的渲染结果

[0007]优选地,在步骤
S1
中,获取矢量水面数据和遥感影像数据,并将所述矢量水面数据和所述遥感影像数据分别发布为矢量瓦片地图服务和栅格瓦片地图服务的方法为:获取矢量水面数据和遥感影像数据,以相同空间范围的矢量水面数据和遥感影像数据为数据源,将矢量水面数据发布为矢量瓦片地图服务,将栅格影像数据发布为栅格瓦片地图服务,其中矢量瓦片与栅格瓦片采用相同切片方案进行切图,保证相同瓦片行列号所包含的矢量地理范围与栅格地理范围一致

[0008]优选地,在步骤
S32
中,计算水面矢量瓦片当前片元的纹理映射坐标,确定水面矢量瓦片与栅格影像瓦片的位置映射关系的方法为:在栅格瓦片图像空间,以图像左下角为原点,水平向右为
U
轴,垂直向上为
V
轴,坐标唯一定位图像上任意像素,通过计算当前片元所对应的纹理映射坐标,确定水面矢量瓦片与栅格影像瓦片的位置映射关系,其中坐标计算过程如下:计算过程如下:式中,表示当前片元的几何顶点坐标;表示当前片元在矢量瓦片中的坐标值,从顶点着色器传入;表示瓦片像素大小,由瓦片地图服务决定,需要保证矢量瓦片的与栅格瓦片一致

[0009]优选地,在步骤
S33
中,在水面矢量瓦片片元着色器中,计算当前片元在栅格影像瓦片中的颜色信息,基于所述颜色信息计算水面法线的方法包括:
S331
:基于纹理映射坐标获取栅格影像瓦片中的颜色值,其中获取的栅格影像颜色值,即为影像图像中水面的真实颜色值,在真实世界中,水面流动导致高度变化,形成波纹效果,在影像图像中体现为颜色的明暗程度不同;
S332
:基于影像图像中水面的真实颜色值,通过图像分析处理算法,计算水面高度
值,并基于所述水面高度值计算水面法线

[0010]优选地,在步骤
S331
中,基于纹理映射坐标获取栅格影像瓦片中的颜色值的方法为:通过当前片元的纹理映射坐标,对栅格影像瓦片进行纹理采样,即获取栅格瓦片图像中像素坐标为的像素值,像素值包括红
R、
绿
G、

B
三个通道,以数组存储,表示为
)
,纹理采样通过
GLSL
内建函数实现,具体如下:式中,表示传入当前矢量瓦片着色器中的栅格影像瓦片图像,为当前片元的纹理映射坐标,表示基于栅格影像瓦片图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种融合多源瓦片地图服务的真实感水面渲染方法,其特征在于,包括:
S1
:获取矢量水面数据和遥感影像数据,并将所述矢量水面数据和所述遥感影像数据分别发布为矢量瓦片地图服务和栅格瓦片地图服务;
S2
: 基于所述矢量瓦片地图服务和所述栅格瓦片地图服务,根据当前地图层级和地图窗口空间范围计算所覆盖的所有地图瓦片,获取地图瓦片行列号集合,遍历行列号集合请求相同行列号的水面矢量瓦片和栅格影像瓦片;
S3
:获取相同行列号的单张水面矢量瓦片与栅格影像瓦片,自定义水面矢量瓦片的着色器渲染程序,实现基于矢量瓦片的真实感水面渲染,具体包括:
S31
:将栅格影像瓦片以纹理图方式传入水面矢量瓦片片元着色器中;
S32
:计算水面矢量瓦片当前片元的纹理映射坐标,确定水面矢量瓦片与栅格影像瓦片的位置映射关系;
S33
:在水面矢量瓦片片元着色器中,计算当前片元在栅格影像瓦片中的颜色信息,基于所述颜色信息计算水面法线;
S34
: 基于所述颜色信息

所述水面法线

三维光照

环境信息,构建水面着色模型,计算当前片元的水面颜色值;
S35
:为所述当前片元的纹理映射坐标添加周期重复性扰动,返回执行步骤
S33
,重新计算所述当前片元的水面颜色值,将所述当前片元的水面颜色值作为最终结果对水面矢量瓦片进行逐片元的渲染,以实现基于矢量瓦片的真实感水面渲染;
S4
:对前端地图进行平移

缩放操作,重新计算当前地图窗口空间范围所覆盖的瓦片集合,返回执行步骤
S2
,着色器渲染程序更新水面渲染结果,地图窗口刷新显示新的渲染结果
。2.
根据权利要求1所述的融合多源瓦片地图服务的真实感水面渲染方法,其特征在于,在步骤
S1
中,获取矢量水面数据和遥感影像数据,并将所述矢量水面数据和所述遥感影像数据分别发布为矢量瓦片地图服务和栅格瓦片地图服务的方法为:获取矢量水面数据和遥感影像数据,以相同空间范围的矢量水面数据和遥感影像数据为数据源,将矢量水面数据发布为矢量瓦片地图服务,将栅格影像数据发布为栅格瓦片地图服务,其中矢量瓦片与栅格瓦片采用相同切片方案进行切图,保证相同瓦片行列号所包含的矢量地理范围与栅格地理范围一致
。3.
根据权利要求1所述的融合多源瓦片地图服务的真实感水面渲染方法,其特征在于, 在步骤
S32
中,计算水面矢量瓦片当前片元的纹理映射坐标,确定水面矢量瓦片与栅格影像瓦片的位置映射关系的方法为:在栅格瓦片图像空间,以图像左下角为原点,水平向右为
U
轴,垂直向上为
V
轴,坐标唯一定位图像上任意像素,通过计算当前片元所对应的纹理映射坐标,确定水面矢量瓦片与栅格影像瓦片的位置映射关系,其中坐标计算过程如下:计算过程如下:式中,表示当前片元的几何顶点坐标;表示当前片元在矢量瓦片中的坐标值,从顶点着色器传入;表示瓦片
像素大小,由瓦片地图服务决定,需要保证矢量瓦片的与栅格瓦片一致
。4.
根据权利要求3所述的融合多源瓦片地图服务的真实感水面渲染方法,其特征在于,在步骤
S33
中,在水面矢量瓦片片元着色器中,计算当前片元在栅格影像瓦片中的颜色信息,基于所述颜色信息计算水面法线的方法包括:
S331
:基于纹理映射坐标获取栅格影像瓦片中的颜色值,其中获取的栅格影像颜色值,即为影像图像中水面的真实颜色值,在真实世界中,水面流动导致高度变化,形成波纹效果,在影像图像中体现为颜色的明暗程度不同;
S332
:基于影像图像中水面的真实颜色值,通过图像分析处理算法,计算水面高度值,并基于所述水面高度值计算水面法线
。5.
根据权利要求4所述的融合多源瓦片地图服务的真实感水面渲染方法,其特征在于,在步骤
S331
中,基于纹理映射坐标获取栅格影像瓦片中的颜色值的方法为:通过当前片元的纹理映射坐标,对栅格影像瓦片进行纹理采样,即获取栅格瓦片图像中像素坐标为的像素值,像素值包括红
R、
绿
G、

B
三个通道,以数组存储,表示为
)
,纹理采样通过
GLSL
内建函数实现,具体如下:式中,表示传入当前矢量瓦片着色器中的栅格影像瓦片图像,为当前片元的纹理映射坐标,表示基于栅格影像瓦片图像和片元纹理映射坐标取对应像素颜色值的函数
。6.
根据权利要求4所述的融合多源瓦片地图服务的真实感水面渲染方法,其特征在于,在步骤
S332
中,基于影像图像中水面的真实颜色值,通过图像分析处理算法,计算水面高度值,并基于所述水面高度值计算水面法线的方法,具体包括:
S3321
:基于影像图像中水面的真实颜色值计算水面高度值:提取的影像图像中水面的真实颜色值为,包含红
R、
绿
G、

B
三个通道,将
RGB
颜色值经过加权平均计算灰度值,将灰度值作为高度值,具体计算方法为:式中,表示基于颜色值计算灰度值公式,
、、
分别表示所述水面真实颜色值的
R、G、B
三个通道的数值;
S3322
:基于水面高度值计算水面法线
。7.
根据权利要求6所述的融合多源瓦片地图服务的真实感水面渲染方法,其特征在于,在步骤
S3322
中,基于水面高度值计算水面法线的方法,具体包括:
采用梯度算子计算梯度值:采用梯度算子计算梯度值:采用梯度算子计算梯度值:式中,

分别表示梯度算子的横向

纵向卷积核,卷积核尺寸为
N*N
,用
N*N
矩阵表示,表示卷积核第行第列的...

【专利技术属性】
技术研发人员:杨亚宁钱程扬王一梅丁倩蒋如乔
申请(专利权)人:园测信息科技股份有限公司
类型:发明
国别省市:

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

1