一种基于3D地图的实时光效动态展示方法及系统与流程

文档序号:20759579发布日期:2020-05-15 17:53阅读:618来源:国知局
一种基于3D地图的实时光效动态展示方法及系统与流程

本发明涉及地图可视化技术领域,具体涉及一种基于3d地图的实时光效动态展示方法及系统。



背景技术:

现实世界中,光照的强度是随着季节、当天时间、天气情况的变化而变化的,传统互联网网站或结合地图的软件在实现地图可视化的时候,大都是展示同一种光照强度、采用单一亮度,不能根据季节变化、天气情况、昼夜世界、区域地理位置、地形高低起伏和建筑物通视等多种因素的变化在地图可视化中反应光照强度的变化,现有的互联网网站或结合地图的软件的地图可视化展现效果单一、不够直观,用户在使用互联网网站或结合地图的软件查看地图时,不能够给用户带来身临其境的感受,用户体验较差。



技术实现要素:

本发明旨在解决上述现有技术中至少一种缺陷(不足),提供一种基于3d地图的实时光效动态展示方法及系统,使光照强度在3d地图上随时间和太阳辐照度的变化而变化,使用户清楚直观地感受到光照强度的变化,提高了用户的体验。

本发明采取的技术方案是:

一方面,提供一种基于3d地图的实时光效动态展示方法,包括:

获取当前区域在当前时间的实时气象数据,根据实时气象数据确定当前区域在当前时间对应的光照效果类型;

从实时气象数据中提取对应的实时太阳辐照度数据,并将实时太阳辐照度数据转换成实时亮度数据;

根据实时气象数据和当前时间获取对应的粒子动效;

根据所述光照效果类型从数据库中获取所述当前时间对应的光照贴图;

将所述光照贴图和粒子动效渲染到3d地图中所述当前区域,使所述当前区域展示所述当前时间对应的动态光照效果;

根据所述实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度;

当实时亮度数据有变化时,根据变化后的亮度数据实时更新3d地图中所述当前区域地图图层的亮度;

所述光照效果类型对应的光照贴图根据不同时间亮度预先制作并存储在数据库中。

通过获取当前区域在当前时间的实时气象数据,确定当前区域在当前时间对应的光照效果类型,然后从数据库中获取对应光照效果类型的光照贴图和根据实时气象数据和当前时间获取对应的粒子动效,将光照贴图和粒子动效渲染到3d地图中所述当前区域,从而使当前时间和对应的气象信息的光照亮度以动态特效的方式在3d地图中所述当前区域呈现;通过从实时气象数据中提取对应的实时太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化,给人以直观的视觉感受,大大提升了视觉效果;另外,本发明根据现实世界中时间、气象和太阳辐照度的变化,实时更新时间和气象数据,从而将现实世界中的气象变化、太阳辐照度等抽象的环境变化信息进行了可视化和直观化,使人再室内也能直观感受到光照的变化。

另一方面,提供一种基于3d地图的实时光效动态展示系统,包括:

时间获取模块,用于获取当前区域的当前时间并对时间进行更新;

气象数据获取模块,用于获取当前区域的实时气象数据以及对实时气象数据进行更新;

数据转换模块,用于从实时气象数据中提取对应的实时太阳辐照度数据并将实时太阳辐照度数据转换成实时亮度数据,以及对实时亮度数据进行更新;

光照效果类型确定模块,用于根据实时气象数据确定当前区域在当前时间对应的光照效果类型并根据更新后的时间和/或实时气象数据更新对应的光照效果类型;

数据提取模块,用于根据所述光照效果类型从数据库中获取所述光照效果类型对应的光照贴图和根据实时气象数据和当前时间获取对应的粒子动效,以及根据更新后的光照效果类型更新对应的光照贴图和根据更新后实时气象数据和当前时间更新对应的粒子动效;

渲染模块,用于将所述光照贴图和粒子动效渲染到3d地图中所述当前区域,使所述当前区域展示所述当前时间对应动态光照效果和/或根据所述实时亮度数据实时调整光效3d地图中所述当前区域地图图层的亮度,以及用于根据更新后的光照贴图和粒子动效更新对应的动态光照效果和/或根据更新后的实时亮度数据更新所述当前区域的地图图层的亮度;

数据库,用于存储所述光照效果类型对应的光照贴图和粒子动效。

通过时间获取模块获取当前区域的当前时间和气象数据获取模块获取当前区域的实时气象数据,光照效果类型确定模块根据实时气象数据确定当前区域在当前时间对应的光照效果类型,然后数据提取模块从数据库中获取对应光照效果类型的光照贴图和根据实时气象数据和当前时间获取对应的粒子动效,渲染模块将光照贴图和粒子动效渲染到3d地图中所述当前区域,从而使当前时间和对应的气象信息的光照亮度以动态特效的方式在3d地图中所述当前区域呈现;通过数据转换模块从实时气象数据中提取对应的实时太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,渲染模块根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化,给人以直观的视觉感受,大大提升了视觉效果;另外,时间获取模块还会根据现实世界中时间的变化实时更新当前时间,气象数据获取模块还会根据现实世界中气象和太阳辐照度的变化,实时更新气象数据,从而将现实世界中的气象变化、太阳辐照度等抽象的环境变化信息进行了可视化和直观化,使人在室内也能直观感受到光照的变化。

与现有技术相比,本发明的有益效果为:本发明通过将当前时间的光照亮度和气象信息以动态的方式展现在3d地图上,并且根据实时太阳辐照度动态调整地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化,给人以直观的视觉感受,大大提升了视觉效果;另外,本发明通过根据时间和气象的变化,实时更新时间和气象数据。

附图说明

图1为本发明实施例一种基于3d地图的实时光效动态展示方法流程图。

图2为本发明实施例一种基于3d地图的实时光效动态展示方法整体示意图。

图3为本发明实施例一种基于3d地图的实时光效动态展示系统模块图。

具体实施方式

本发明附图仅用于示例性说明,不能理解为对本发明的限制。为了更好说明以下实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

实施例1

提供一种基于3d地图的实时光效动态展示方法,该方法可具体应用于如导航软件等需要用到3d地图的领域中,具体如图1所示为本实施例一种基于3d地图的实时光效动态展示方法示意图,包括:

s1.获取当前区域在当前时间的实时气象数据,根据实时气象数据确定当前区域在当前时间对应的光照效果类型;

s2.从实时气象数据中提取对应的实时太阳辐照度数据,并将实时太阳辐照度数据转换成实时亮度数据;

s3.根据实时气象数据和当前时间获取对应的粒子动效;

s4.根据所述光照效果类型从数据库中获取所述当前时间对应的光照贴图;

s5.将所述光照贴图和粒子动效渲染到3d地图中所述当前区域,使所述当前区域展示所述当前时间对应的动态光照效果;

s6.根据所述实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度;

s7.当实时亮度数据有变化时,根据变化后的亮度数据实时更新3d地图中所述当前区域地图图层的亮度;

所述光照效果类型对应的光照贴图和粒子动效根据不同时间亮度预先制作并存储在数据库中。

在本实施例具体实施过程中,如图2所示,首先通过从如导航软件等软件中获取当前的时间,再通过当前区域所述的气象部门对外提供的气象网站数据接口,采用如互联网http协议的post或者get等数据请求方式,获取当前区域在当前时间的实时气象数据,所述当前区域为用户当前的定位区域或是用于在3d地图所关注的区域;

根据获取的当前区域在当前时间的实时气象数据,确定当前区域在当前时间对应的光照效果类型,所述光照效果类型根据气象数据预先分类,具体可以包括:阴天、晴天等,根据时间预先分类,具体可以包括:清晨、中午(下午)、傍晚和黑夜等;根据光照效果类型从数据库中获取该光照效果类型对应的光照贴图和根据实时气象数据和当前时间获取对应的粒子动效,所述粒子动效存储在数据库中;对应的光照贴图可以根据光照贴图预先设定并存储在数据库中,光照贴图具体可以包括阴天贴图、晴天贴图、柔和光贴图、明亮光贴图、淡光贴图和昏暗光贴图等;将获取的对应光照贴图和粒子动态渲染到3d地图中所述当前区域,使当前区域展示对应的动态光照效果。从实时气象数据中提取当前时间的太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化。

具体的,如当前时间为早上6点,当前区域的实时气象数据为晴天,则当前区域在当前时间对应的光照效果类型为清晨,从数据库中提取预先制作好的和清晨对应的柔和光贴图和柔和光粒子动效、晴天对应的晴天贴图、浅白色的3d云朵动效,将柔和光贴图、晴天贴图和柔和光粒子动效渲染到3d地图中所述当前区域,并将浅白色的3d云朵动效渲染到当前区域天空中,使所述当前区域呈现动态清晨的光照效果;另外,从实时气象数据中提取当前时间早上6点的太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化。

如当前时间为中午12点,当前区域的实时气象数据为晴天,则当前区域在当前时间对应的光照效果类型为中午,从数据库中提取预先制作好的和中午对应的明亮光贴图、明亮光粒子动效、晴天对应的晴天贴图、亮白色的3d云朵动效,将明亮光贴图、晴天贴图和明亮光粒子动效渲染到3d地图中所述当前区域,并将亮白色的3d云朵动效渲染到当前区域天空中,使所述当前区域呈现动态中午的光照效果;另外,从实时气象数据中提取当前时间中午12点的太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化。

如当前时间为下午6点,当前区域的实时气象数据为晴天,则当前区域在当前时间对应的光照效果类型为傍晚,从数据库中提取预先制作好的和傍晚对应的淡光贴图、淡光粒子动效、晴天对应的晴天贴图、浅红色的3d云朵动效,将淡光贴图、晴天贴图和淡光粒子动效渲染到3d地图中所述当前区域,并将浅红色的3d云朵动效渲染到当前区域天空中,使所述当前区域呈现动态傍晚的光照效果;另外,从实时气象数据中提取当前时间下午6点的太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化。

如当前时间为晚上8点,当前区域的实时气象数据为晴天,则当前区域在当前时间对应的光照效果类型为黑夜,从数据库中提取预先制作好的和黑夜对应的昏暗光贴图、昏暗光粒子动效、晴天对应的晴天贴图,将昏暗光贴图、晴天贴图和昏暗光粒子动效渲染到3d地图中所述当前区域,使所述当前区域呈现动态黑夜的光照效果;另外,从实时气象数据中提取当前时间晚上8点的太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化。

通过获取当前区域在当前时间的实时气象数据,确定当前区域在当前时间对应的光照效果类型,然后从数据库中获取对应光照效果类型的光照贴图和根据实时气象数据和当前时间获取对应的粒子动效,将光照贴图和粒子动效渲染到3d地图中所述当前区域,从而使当前时间和对应的气象信息的光照亮度以动态特效的方式在3d地图中所述当前区域呈现;通过从实时气象数据中提取对应的实时太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化,给人以直观的视觉感受,大大提升了视觉效果;另外,本发明根据现实世界中时间、气象和太阳辐照度的变化,实时更新时间和气象数据,从而将现实世界中的气象变化、太阳辐照度等抽象的环境变化信息进行了可视化和直观化,使人再室内也能直观感受到光照的变化。

在本实施例中,如图2所示,所述3d地图是通过如下方式建立的:

获取地理信息数据并对其进行数据预处理,将预处理后的数据作为三维地图的基础数据源;

根据基础数据源在地图平台上建立3d地图。

具体的,获取gis地图坐标数据、二维地图、高程信息等地理信息数据并对这些地理信息数据进行投影转换、格式转换、数据清洗和数据编辑等一种或多种数据预处理操作,将预处理后的数据作为三维地图的基础数据源。具体实施过程中可以采用cesium.js等开源技术搭建地图平台,根据基础数据源在地图平台上建立3d地图。

采用开源免费的cesium.js技术搭建地图平台,可以降低本发明的制作成本。

在本实施方式中,如图2所示,所述方法还包括:将图形渲染从所述地图平台分离出来,封装为独立的3d渲染引擎;

利用3d渲染引擎将所述光照贴图和粒子动效渲染到3d地图中所述当前区域,使所述当前区域展示所述当前时间对应动态光照效果。

具体的,如采用cesium.js技术搭建地图平台,把图形渲染从cesium.js分离出来,封装成为独立的3d渲染引擎,利用3d渲染引擎将所述光照贴图和粒子动效渲染到3d地图所述当前区域,使所述当前区域展示对应动态光照效果;所述3d渲染引擎具体可以包括着色器和环境映射,着色器包括顶点着色器和片段着色器等,主要用于渲染单个实体对象,有较好的渲染效果;环境映射主要通过在天空盒加上对应光照效果类型的纹理贴图,渲染3d地图的整体环境效果,能够方便快捷对整体环境进行渲染。

通过把图形渲染从cesium.js分离出来,封装成为独立的3d渲染引擎,从而实现3d地图的高效渲染并保持代码整洁,提高渲染的效率且有利于拓展更多光照效果类型和对动态光照效果的维护。

在本实施例中,根据实时气象数据和当前时间获取对应的粒子动效,具体包括:

不同的粒子动效封装在粒子动效模型中,将实时气象数据和当前时间输入到粒子动效模型中获取到和实时气象数据和当前时间相匹配的粒子动效。

在具体实施过程中,不同的粒子动效封装在模型中,粒子动效具体可以包括:柔和光粒子动效、明亮光粒子动效、淡光粒子动效、昏暗光粒子动效等;当将获取的实时气象数据和当前时间输入到粒子动效模型中即可获取和实时气象数据和当前时间相匹配的粒子动效,所述粒子动效模型存储在数据库中,方便调用;具体的,如当获取的实时气象数据为晴天、当前时间为早上6点时,将实时气象数据和当前时间输入到粒子动效模型中,粒子动效模型会自动根据输入的实时气象数据和当前时间获取晴天与早上6点对应的柔和光粒子动效;如当获取的实时气象数据为晴天、当前时间为中午12点时,将实时气象数据和当前时间输入到粒子动效模型中,粒子动效模型会自动根据输入的实时气象数据和当前时间获取晴天与中午12点对应的明亮光粒子动效;如当获取的实时气象数据为晴天、当前时间为下午6点时,将实时气象数据和当前时间输入到粒子动效模型中,粒子动效模型会自动根据输入的实时气象数据和当前时间获取晴天与下午6点对应的淡光粒子动效;如当获取的实时气象数据为晴天、当前时间为晚上8点时,将实时气象数据和当前时间输入到粒子动效模型中,粒子动效模型会自动根据输入的实时气象数据和当前时间获取晴天与晚上8点对应的昏暗光粒子动效。

在本实施例中,所述方法还包括:

根据实时气象数据确定当前区域实时气象对应的环境光效果;

将所述光照贴图和粒子动效渲染到3d地图中所述当前区域中还包括:将环境光效果渲染和/或调整3d地图的环境光;

当实时气象数据有变化时,根据变化后的气象数据实时更新3d地图中所述当前区域的环境光效果。

所述环境光效果包括天空环境光效果和/或大气环境光效果,可以根据光照效果类型预先设定对应的环境光效果贴图并将所述环境光效果存储在数据库中。

在具体实施过程中,当根据当前区域在当前时间的实时气象数据确定当前区域实时气象对应的动态光照效果后,根据对应的动态光照效果确定3d地图中的环境光效果,将环境光效果渲染或者调整3d地图的环境光;具体的,如若当前区域在当前时间对应的光照效果类型为晴天、早上时,则将天空环境光效果和大气环境光效果渲染到3d地图中所述当前区域,如给3d天空盒反射暖和的光照,调整大气环境光效果为淡蓝色并在天空中配上薄雾,形成晨曦薄雾的效果;如若当前区域在当前时间对应的光照效果类型为晴天、中午或下午时,则将天空环境光效果和大气环境光效果渲染到3d地图中所述当前区域,如给3d天空盒反射明亮暖和的光照,调整大气环境光效果为淡蓝色;如若当前区域在当前时间对应的光照效果类型为晴天、傍晚时,则将天空环境光效果和大气环境光效果渲染到3d地图中所述当前区域,如给3d天空盒反射较淡的光照,调整大气环境光效果为淡彩霞的颜色并在天空中配上晚霞,形成昏暗、浅淡的效果;如若当前区域在当前时间对应的光照效果类型为晴天、晚上时,则将天空环境光效果和大气环境光效果渲染到3d地图中所述当前区域,如给3d天空盒反射昏暗的光照,调整大气环境光效果为灰黑色并在天空中配上星星,形成夜光的效果。另外,当实时气象数据有变化时,根据变化后的气象数据实时更新3d地图中所述当前区域的环境光效果,如气象数据由晴天变为阴天,则将阴天对应的环境光效果实时更新3d地图中所述当前区域。

通过根据光照效果类型确定3d地图中的环境光效果,使3d地图能更加逼真的呈现不同时间和气象的光照亮度。

在本实施例中,所述3d地图中还包括房屋模型,根据房屋模型和所述当前区域在当前时间的实时亮度数据计算建筑的通视情况对建筑的光照阴影进行修正,所述建筑是位于所述当前区域的房屋模型中。

具体的,根据当前时间的实时亮度数据计算出当前区域的房屋模块中的建筑的通视情况,根据计算出的通视情况对建筑的光照阴影进行修正;另外,建筑的光照阴影还会根据用户对3d地图进行倾斜、旋转、平移等其中一个或多个操作使3d地图展示的方向的改变而改变。

通过根据实时亮度数据对建筑的光照阴影进行修正,可以使3d地图呈现更逼真的效果,提高用户的体验感。

在本实施例中,所述方法还包括根据所述地理信息数据中的地形高程dem数据和所述当前区域在当前时间的实时亮度数据,计算山体阴影对山体的迎光面和背光面的遮挡光效情况进行修正,所述山体是位于所述当前区域中的。

具体的,根据当前时间的实时亮度数据、地理信息数据中的地形高程dem数据计算在所述当前区域中的山体阴影对山体的迎光面和背光面的遮挡光效情况进行修正;另外,山体的迎光面和背光面的遮挡光效情况还会根据用户对3d地图进行倾斜、旋转、平移等其中一个或多个操作使3d地图展示的方向的改变而改变。

通过根据实时亮度数据对山体的迎光面和背光面的遮挡光效情况进行修正,可以使3d地图呈现更逼真的效果,提高用户的体验感。

实施例2

在本实施例中,提供一种基于3d地图的实时光效动态展示系统,该系统可具体应用于如导航软件等需要用到3d地图的领域中,具体如图3所示,包括:

时间获取模块,用于获取当前区域的当前时间并对时间进行更新;

气象数据获取模块,用于获取当前区域的实时气象数据以及对实时气象数据进行更新;

数据转换模块,用于从实时气象数据中提取对应的实时太阳辐照度数据并将实时太阳辐照度数据转换成实时亮度数据,以及对实时亮度数据进行更新;

光照效果类型确定模块,用于根据实时气象数据确定当前区域在当前时间对应的光照效果类型并根据更新后的时间和/或实时气象数据更新对应的光照效果类型;

数据提取模块,用于根据所述光照效果类型从数据库中获取所述光照效果类型对应的光照贴图和根据实时气象数据和当前时间获取对应的粒子动效,以及根据更新后的光照效果类型更新对应的光照贴图和根据更新后实时气象数据和当前时间更新对应的粒子动效;

渲染模块,用于将所述光照贴图和粒子动效渲染到3d地图中所述当前区域,使所述当前区域展示所述当前时间对应动态光照效果和/或根据所述实时亮度数据实时调整光效3d地图中所述当前区域地图图层的亮度,以及用于根据更新后的光照贴图和粒子动效更新对应的动态光照效果和/或根据更新后的实时亮度数据更新所述当前区域的地图图层的亮度;

数据库,用于存储所述光照效果类型对应的光照贴图和粒子动效。

在本实施例具体实施过程中,如图2所示,首先时间获取模块通过从如导航软件等软件中获取当前的时间,气象数据获取模块再通过当前区域所述的气象部门对外提供的气象网站数据接口,采用如互联网http协议的post或者get等数据请求方式,获取当前区域在当前时间的实时气象数据,所述当前区域为用户当前的定位区域或是用户在3d地图所关注的区域;

光照效果类型确定模块根据获取的当前区域在当前时间的实时气象数据,确定当前区域在当前时间对应的光照效果类型,所述光照效果类型根据气象数据预先分类,具体可以包括:阴天、晴天等,根据时间预先分类,具体可以包括:清晨、中午(下午)、傍晚和黑夜等;数据提取模块根据光照效果类型从数据库中获取该光照效果类型对应的光照贴图和根据实时气象数据和当前时间获取对应的粒子动效,对应的光照贴图可以根据光照贴图预先设定并存储在数据库中,光照贴图具体可以包括阴天贴图、晴天贴图、柔和光贴图、明亮光贴图、淡光贴图和昏暗光贴图等,所述粒子动效也可以根据实时气象数据和当前时间预先制作并存储在数据库中,具体的,不同的粒子动效封装在粒子动效模型中,将实时气象数据和当前时间输入到粒子动效模型中获取到和实时气象数据和当前时间相匹配的粒子动效,所述粒子动效模型存储在数据库中;渲染模块将获取的对应光照贴图和粒子动态渲染到3d地图中所述当前区域,使当前区域展示对应的动态光照效果。其中所述粒子动效模型可以根据输入的不同时间和气象数据获取不同的3d立体动态效果的粒子动效,以使3d地图中有展示动态光照效果。再者,数据转换模块从实时气象数据中提取当前时间的太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,渲染模块根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化。

具体的,如时间获取模块获取的当前时间为早上6点,气象数据获取模块获取的当前区域的实时气象数据为晴天,则光照效果类型确定模块确定当前区域在当前时间对应的光照效果类型为清晨,数据提取模块从数据库中提取预先制作好的和清晨对应的柔和光贴图和柔和光粒子动效、晴天对应的晴天贴图、浅白色的3d云朵动效,渲染模块将柔和光贴图、晴天贴图和柔和光粒子动效渲染到3d地图中所述当前区域,并将浅白色的3d云朵动效渲染到当前区域天空中,使所述当前区域呈现动态清晨的光照效果;另外,数据转换模块从实时气象数据中提取当前时间早上6点的太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,渲染模块根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化。

如时间获取模块获取的当前时间为中午12点,气象数据获取模块获取的当前区域的实时气象数据为晴天,则光照效果类型确定模块确定当前区域在当前时间对应的光照效果类型为中午,数据提取模块从数据库中提取预先制作好的和中午对应的明亮光贴图、明亮光粒子动效、晴天对应的晴天贴图、亮白色的3d云朵动效,渲染模块将明亮光贴图、晴天贴图和明亮光粒子动效渲染到3d地图中所述当前区域,并将亮白色的3d云朵动效渲染到当前区域天空中,使所述当前区域呈现动态中午的光照效果;另外,数据转换模块从实时气象数据中提取当前时间中午12点的太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,渲染模块根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化。

如时间获取模块获取的当前时间为下午6点,气象数据获取模块获取的当前区域的实时气象数据为晴天,则光照效果类型确定模块确定当前区域在当前时间对应的光照效果类型为傍晚,数据提取模块从数据库中提取预先制作好的和傍晚对应的淡光贴图、淡光粒子动效、晴天对应的晴天贴图、浅红色的3d云朵动效,渲染模块将淡光贴图、晴天贴图和淡光粒子动效渲染到3d地图中所述当前区域,并将浅红色的3d云朵动效渲染到当前区域天空中,使所述当前区域呈现动态傍晚的光照效果;另外,数据转换模块从实时气象数据中提取当前时间下午6点的太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,渲染模块根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化。

如时间获取模块获取的当前时间为晚上8点,气象数据获取模块获取的当前区域的实时气象数据为晴天,则光照效果类型确定模块确定当前区域在当前时间对应的光照效果类型为黑夜,数据提取模块从数据库中提取预先制作好的和黑夜对应的昏暗光贴图、昏暗光粒子动效、晴天对应的晴天贴图,渲染模块将昏暗光贴图、晴天贴图和昏暗光粒子动效渲染到3d地图中所述当前区域,使所述当前区域呈现动态黑夜的光照效果;另外,数据转换模块从实时气象数据中提取当前时间晚上8点的太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,渲染模块根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化。

通过时间获取模块获取当前区域的当前时间和气象数据获取模块获取当前区域的实时气象数据,光照效果类型确定模块根据实时气象数据确定当前区域在当前时间对应的光照效果类型,然后数据提取模块从数据库中获取对应光照效果类型的光照贴图和根据实时气象数据和当前时间获取对应的粒子动效,渲染模块将光照贴图和粒子动效渲染到3d地图中所述当前区域,从而使当前时间和对应的气象信息的光照亮度以动态特效的方式在3d地图中所述当前区域呈现;通过数据转换模块从实时气象数据中提取对应的实时太阳辐照度数据,并将实时太阳辐照度数据转换成亮度数据,渲染模块根据实时亮度数据实时调整3d地图中所述当前区域地图图层的亮度,实现光照强度在3d地图上随时间和太阳辐照度的变化而变化,给人以直观的视觉感受,大大提升了视觉效果;另外,时间获取模块还会根据现实世界中时间的变化实时更新当前时间,气象数据获取模块还会根据现实世界中气象和太阳辐照度的变化,实时更新气象数据,从而将现实世界中的气象变化、太阳辐照度等抽象的环境变化信息进行了可视化和直观化,使人在室内也能直观感受到光照的变化。

在本实施例中,所述系统还包括:

地理数据处理模块,用于获取地理信息数据并对其进行数据预处理,将预处理后的数据作为三维地图的基础数据源;

地图建立模块,用于根据基础数据源在地图平台上建立3d地图。

具体的,地理数据处理模块获取gis地图坐标数据、二维地图、高程信息等地理信息数据并对这些地理信息数据进行投影转换、格式转换、数据清洗和数据编辑等一种或多种数据预处理操作,将预处理后的数据作为三维地图的基础数据源。具体实施过程中可以由地图建立模块采用cesium.js开源技术搭建地图平台,根据基础数据源在地图平台上建立3d地图。

采用开源免费的cesium.js技术搭建地图平台,可以降低本发明的制作成本。

在本实施方式中,所述系统还包括渲染引擎封装模块,用于将图形渲染从所述地图平台分离出来,封装为独立的3d渲染引擎;

所述渲染模块具体用于利用3d渲染引擎将所述光照贴图和粒子动效渲染到3d地图中所述当前区域,使中所述当前区域展示对应动态光照效果。

具体的,渲染引擎封装模块把图形渲染从cesium.js分离出来,封装成为独立的3d渲染引擎,渲染模块利用3d渲染引擎将所述光照贴图和粒子动效渲染到3d地图中所述当前区域,使中所述当前区域展示对应动态光照效果;所述3d渲染引擎具体可以包括着色器和环境映射,着色器包括顶点着色器和片段着色器等,主要用于渲染单个实体对象,有较好的渲染效果;环境映射主要通过在天空盒加上对应光照效果类型的纹理贴图,渲染3d地图的整体环境效果,能够方便快捷对整体环境进行渲染。

通过把图形渲染从cesium.js分离出来,封装成为独立的3d渲染引擎,从而实现3d地图的高效渲染并保持代码整洁,提高渲染的效率且有利于拓展更多光照效果类型和对动态光照效果的维护。

显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1