CN111311761A - 基于图形学在gis系统模拟爆炸火焰效果处理方法及装置 - Google Patents
基于图形学在gis系统模拟爆炸火焰效果处理方法及装置 Download PDFInfo
- Publication number
- CN111311761A CN111311761A CN202010111323.3A CN202010111323A CN111311761A CN 111311761 A CN111311761 A CN 111311761A CN 202010111323 A CN202010111323 A CN 202010111323A CN 111311761 A CN111311761 A CN 111311761A
- Authority
- CN
- China
- Prior art keywords
- explosion
- flame
- vertex
- effect
- shader
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Architecture (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本申请涉及基于图形学在GIS系统模拟爆炸火焰效果处理方法及装置,方法包括:预先将实体和表现分别抽象成几何体和材质;爆炸特效针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;以一个三维球体几何体的初始顶点作为火焰爆炸特效的基础数据;通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量;获取当前时间time和位置坐标position;通过柏林噪声算法算出当前顶点的最新位置;利用片元着色器加载火焰特效贴图,完成整体特效渲染。本发明可以很方便实现火焰爆炸特效,能在GIS系统模拟爆炸火焰效果,方便用户操作使用,并且实现简单,可靠性高。
Description
技术领域
本申请涉及网络地理信息系统技术领域,特别是涉及一种基于图形学在GIS系统模拟爆炸火焰效果处理方法及装置、计算机设备、可读存储介质。
背景技术
在webgis(网络地理信息系统)领域常需要对一些事件或效果进行可视化呈现、还原。例如还原火灾事故的火焰燃烧爆炸效果,这些特效往往较难实现,或实现效率很差导致无法集成使用。
现有技术的webgis系统本身更倾向与专业的地理属性功能,基本没有提供一些生动特效的集成,但实际在应用webgis系统进行业务开发时会遇到一些需求,例如在灾情分析,应急指挥和事件分析还原等webgis功能时,没有兼顾高性能和生动特效支撑的webgis系统明显缺乏表现力,死板。即现有技术没有实现编写一些特效来辅助呈现业务事件中描述的事态,很难实现其中描述的火焰爆炸特效,有时不方便用户操作使用。
因此,现有技术有待改进。
发明内容
本发明针对上述现有技术中的技术问题,提供一种基于图形学在GIS系统模拟爆炸火焰效果处理方法及装置、计算机设备、可读存储介质,本发明实现了编写一些特效来辅助呈现业务事件中描述的事态,可以很方便实现火焰爆炸特效,能在GIS系统模拟爆炸火焰效果,方便用户操作使用,并且实现简单,可靠性高。
本发明的技术方案如下:
一种基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述方法包括:
预先将实体和表现分别抽象成几何体和材质;爆炸特效针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
以一个三维球体几何体的初始顶点作为火焰爆炸特效的基础数据;
通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量;
获取当前时间time和位置坐标position;
通过柏林噪声算法算出当前顶点的最新位置;
利用片元着色器加载火焰特效贴图,完成整体特效渲染。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述获取三维球表面各顶点法向量步骤之前还包括:
选用开源图形引擎mapboxgl.js和three.js作为开发工具;选用webgis领域的地图开源引擎mapboxgl.js作为开发工具,用作地理信系统;选用web端通用引擎的three.js作为开发工具,支持图形学底层接口webgl的开发
进行火焰爆炸的程序设计;
具体实现火焰爆炸着色器程序。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量的步骤还包括:
在初始三维球体的顶点着色器上获取法向量normal;所述法向量包括球心和球面顶点之间的单位向量。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量的步骤还包括:
将真实火焰爆炸的效果分解为着色器程序中改变顶点变化的程序;
通过着色器程序打乱顶点位置;使球面上每个顶点必须以一定规律改变自身的长度;所述一定规律为连贯的、非突变变化的规律并让某一片距离相近的顶点以同一规律起伏。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述通过柏林噪声算法算出当前顶点的最新位置的步骤包括:
在顶点着色器中调用柏林算法,分别输入当前时间time,位置坐标position,当前位置坐标的法向量,按照柏林噪声算法计算出顶点最新所处的新坐标位置;
所述新坐标位置包含需要的要素参数,连续变化参数、周围关联变化参数、变化速度参数;
顶点着色器并行返回出整个爆炸球体所有顶点的新坐标,并且随时间time的变化呈现出爆炸的效果。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述利用片元着色器加载火焰特效贴图,完成整体特效渲染的步骤包括:
使用一张包含从黑色到红色进而到黄色的色度图,用作模拟火焰爆炸的外纹理;将该纹理加载进片元着色器,进行物体纹理贴图;
利用片元着色器加载火焰特效贴图,完成整体特效渲染。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述利用片元着色器加载火焰特效贴图,完成整体特效渲染的步骤之后还包括:
通过火焰爆炸特效的相关接口,调整爆炸半径,调整爆炸剧烈程度,调整更换爆炸材质,调整爆炸速度接口,并控制显示调整后的模拟爆炸火焰效果。
一种基于图形学在GIS系统模拟爆炸火焰效果处理装置,其中,所述装置包括:
预先设置模块,用于预先将实体和表现分别抽象成几何体和材质;爆炸特效针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
基础数据模块,用于以一个三维球体几何体的初始顶点作为火焰爆炸特效的基础数据;
第一获取模块,用于通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量;
第二获取模块,用于获取当前时间time和位置坐标position;
计算模块,用于通过柏林噪声算法算出当前顶点的最新位置;
渲染显示模块,用于利用片元着色器加载火焰特效贴图,完成整体特效渲染。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现任一项所述基于图形学在GIS系统模拟爆炸火焰效果处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现任一项所述的基于图形学在GIS系统模拟爆炸火焰效果处理方法的步骤。
与现有技术相比,本发明实施例具有以下优点:
提供一种基于图形学在GIS系统模拟爆炸火焰效果处理方法及装置、计算机设备、可读存储介质,提供一种基于图形学在GIS系统模拟爆炸火焰效果处理的方法。本发明实现了编写一些特效来辅助呈现业务事件中描述的事态,可以很方便实现火焰爆炸特效,能在GIS系统模拟爆炸火焰效果,方便用户操作使用,并且实现简单,可靠性高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1的一种基于图形学在GIS系统模拟爆炸火焰效果处理方法的流程示意图。
图2为本发明实施例2的一种基于图形学在GIS系统模拟爆炸火焰效果处理方法的流程示意图。
图3是本发明实施例2的一种基于图形学在GIS系统模拟爆炸火焰效果处理方法的爆炸范围5000m效果示意图。
图4是本发明实施例2的一种基于图形学在GIS系统模拟爆炸火焰效果处理方法的爆炸范围10000m效果示意图。
图5是本发明实施例2的一种基于图形学在GIS系统模拟爆炸火焰效果处理方法的设置爆炸剧烈程度为1效果示意图。
图6是本发明实施例2的一种基于图形学在GIS系统模拟爆炸火焰效果处理方法的设置爆炸程度为2.5效果示意图。
图7是本发明实施例2的一种基于图形学在GIS系统模拟爆炸火焰效果处理方法的更换火焰材质颜色效果示意图。
图8为本发明实施例中一种基于图形学在GIS系统模拟爆炸火焰效果处理装置的结构示意图。
图9为本发明实施例中计算机设备的内部结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人经过研究发现,现有技术的webgis系统本身更倾向与专业的地理属性功能,基本没有提供一些生动特效的集成,但实际在应用webgis系统进行业务开发时会遇到一些需求,例如在灾情分析,应急指挥和事件分析还原等webgis功能时,没有兼顾高性能和生动特效支撑的webgis系统明显缺乏表现力,死板。即现有技术没有实现编写一些特效来辅助呈现业务事件中描述的事态,很难实现其中描述的火焰爆炸特效,有时不方便用户操作使用。
为了解决上述问题,在本发明实施例中,下面结合附图,详细说明本发明的各种非限制性实施方式。
实施例1、
本发明实施例1的一种基于图形学在GIS系统模拟爆炸火焰效果处理方法,如图1所示,实施例1所述基于图形学在GIS系统模拟爆炸火焰效果处理方法包括以下步骤:
步骤S100、预先将实体和表现分别抽象成几何体和材质;爆炸特效针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义。
本发明实施例1中首先需要选用开源图形引擎mapboxgl.js和three.js作为开发工具;选用webgis领域的地图开源引擎mapboxgl.js作为开发工具,用作地理信系统;选用web端通用引擎的three.js作为开发工具,支持图形学底层接口webgl的开发。
然后可以在three.js的接口中,将实体和表现分别抽象成geometry(几何体)和material(材质)。爆炸特效主要针对material(材质)进行编写,利用THREE.ShaderMaterial直接编写顶点着色器和片元着色器代码进行材质定义。
步骤S200、以一个三维球体几何体的初始顶点作为火焰爆炸特效的基础数据。
本步骤中,可以以一个三维球体geometry(几何体)的初始顶点(距离球心完全等距离地点,所有点构成一个三维球体)作为火焰爆炸特效的基础数据。但并非仅依靠均匀分布在球体表面的顶点(距离球心等距离的点)完成,因为如果这样,加上贴图(一般用于模拟物理效果表面纹理的图片)后它仅会成为一个燃烧的玻璃球,没有任何起伏波动。它们过于平均,无法呈现出爆炸随机而剧烈波动的效果。本发明需要依靠着色器程序打乱顶点位置,这样才可以获得有趣的爆炸效果。
步骤S300、通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量;
本发明中,可以通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量:例如在初始三维球体的顶点着色器上获取法向量normal;所述法向量包括球心和球面顶点之间的单位向量。
本发明还可以将真实火焰爆炸的效果分解为着色器程序中改变顶点变化的程序;通过着色器程序打乱顶点位置;使球面上每个顶点必须以一定规律改变自身的长度;所述一定规律为连贯的、非突变变化的规律并让某一片距离相近的顶点以同一规律起伏。
步骤S400、获取当前时间time和位置坐标position。
获取的当前时间time(以模拟连续变化的爆炸趋势),位置坐标position(让算法判定如何变化)。
步骤S500、通过柏林噪声算法算出当前顶点的最新位置;
具体地、在顶点着色器中调用柏林算法,分别输入当前时间time,位置坐标position,当前位置坐标的法向量,按照柏林噪声算法计算出顶点最新所处的新坐标位置;所述新坐标位置包含需要的要素参数,连续变化参数、周围关联变化参数、变化速度参数;
顶点着色器并行返回出整个爆炸球体所有顶点的新坐标,并且随时间time的变化呈现出爆炸的效果。
步骤S600、利用片元着色器加载火焰特效贴图,完成整体特效渲染。
具体地,所述利用片元着色器加载火焰特效贴图,完成整体特效渲染的步骤包括:
使用一张包含从黑色到红色进而到黄色的色度图,用作模拟火焰爆炸的外纹理;将该纹理加载进片元着色器,进行物体纹理贴图;利用片元着色器加载火焰特效贴图,完成整体特效渲染。
当然在进一步地实施例中,所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述利用片元着色器加载火焰特效贴图,完成整体特效渲染的步骤之后还包括步骤:
通过火焰爆炸特效的相关接口,调整爆炸半径,调整爆炸剧烈程度,调整更换爆炸材质,调整爆炸速度接口,并控制显示调整后的模拟爆炸火焰效果。
以下通过一具体地应用实施例对本发明做进一步详细说明:
请参阅图2,图2示出了本发明实施例2的一种基于图形学在GIS系统模拟爆炸火焰效果处理方法,所述方法包括以下步骤:
步骤S1、选用开源图形引擎mapboxgl.js和three.js作为开发工具;
本发明中,首先需要选用合适的开发环境工具。本发明较佳地选择mapboxgl.js和three.js作为开发工具。例如选用webgis领域的地图开源引擎mapboxgl.js作为开发工具,用作地理信系统;选用web端通用引擎的three.js作为开发工具,支持图形学底层接口webgl的开发。
three.js是JavaScript编写的WebGL第三方库。提供了非常多的3D显示功能。Mapbox是一款矢量地图
mapboxgl.js和three.js均是世界级开源图形引擎。mapboxgl.js是webgis领域的地图开源引擎,用作地理信系统。three.js是web端通用引擎,有丰富的社区开发组件和积累,高度抽象的图形绘制和拓展丰富的接口。
选用选用开源图形引擎的开发工具的好处是:采用开源技术能够在最短时间内搭建webgis系统,具备相当的成熟度和扩展性。其中mapboxgl.js可以将three.js作为一个图层单独渲染在地图中,而three.js丰富的接口支持图形学底层接口webgl的开发,利用webgl的管线编程可以调用GPU(图形加速器)的并行渲染力量计算模拟出逼真的爆炸火焰特效,从而使mapboxgl.js搭建的webgis系统拥有直通底层的能力,利用GPU(图形加速器)渲染出高效稳定特效。
步骤S2、在three.js的接口中,将实体和表现分别抽象成几何体和材质;爆炸特效针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义。
本实施例中,火焰爆炸特效程序的设计。在three.js的接口中,将实体和表现分别抽象成了geometry(几何体)和material(材质)。爆炸特效主要针对material(材质)进行编写,利用THREE.ShaderMaterial直接编写顶点着色器和片元着色器代码进行材质定义。
具体地,可以以一个三维球体geometry(几何体)的初始顶点(距离球心完全等距离地点,所有点构成一个三维球体)作为火焰爆炸特效的基础数据,但并非仅依靠均匀分布在球体表面的顶点(距离球心等距离的点)完成,因为如果这样,加上贴图(一般用于模拟物理效果表面纹理的图片)后它仅会成为一个燃烧的玻璃球,没有任何起伏波动。它们过于平均,无法呈现出爆炸随机而剧烈波动的效果。需要依靠着色器程序打乱顶点位置,可以获得有趣的爆炸效果。
进一步细化,火焰爆炸特效设计的着色器要实现火焰爆炸效果必须做到:
使球面上每个顶点必须以一定规律改变自身的长度,这个规律不可以是突变,而必须是连贯的、有一定规律的变化,这样才符合熊熊燃烧的火焰爆炸的物理规律。
这个规律还要让某一片距离十分相近的顶点以同一规律起伏,模拟爆炸物某一方向的溅射效果,否则胡乱溅射的爆炸物不符合物理规律。
本步骤的好处是:明确了实现爆火焰效果的程序目标,将真实火焰爆炸的效果分解为着色器程序中改变顶点变化的程序,以及说清其变化规律,接下来只需要用代码的方式实现即可。
步骤S3、通过噪声算法-柏林噪声算法实现火焰爆炸特效;
本步骤主要是使用算法和程序具体实现火焰爆炸特效。
经验证,实现步骤二所说顶点规律变化效果通过噪声算法实现。
噪声算法是计算机图形学中模拟各种仿真材质的算法,例如水纹、火焰、云朵等,由于其计算量大,对计算过程不做记录要求,结果需要一定随机性的特定,往往需要在GPU进行运算。本发明实施例方法中就使用了其中一种经典噪声算法-柏林噪声算法,下面叙述整个实现过程。
1)、在初始三维球体的顶点着色器上获取法向量normal(球心和球面顶点之间的单位向量)。
2)、在顶点着色器中调用柏林算法,分别输入当前时间time(以模拟连续变化的爆炸趋势),位置坐标position(让算法判定如何变化),normal(当前位置坐标的法向量),按照柏林噪声算法计算出顶点最新应该处于的新坐标位置newPosition。
该新坐标包含了一切需要的要素,连续变化、周围关联变化、变化速度等。
3)、顶点着色器最后并行返回出整个爆炸球体所有顶点的新坐标,并且随时间time的变化呈现出爆炸的效果。
4)、使用一张包含从黑色到红色进而到黄色的色度图,用作模拟火焰爆炸的外纹理。将该纹理加载进片元着色器,进行物体纹理贴图。
关于柏林噪声算法本方法中不再赘述,原因是柏林噪声算法冗长且已经记录为图形学经典算法。
该步骤的好处:具体实现了以柏林噪声算法为基础的火焰弹爆炸特效,配合纹理贴图制作出了动态火焰爆炸纹理。
步骤S4、通过火焰爆炸特效的相关接口,调整爆炸半径,调整爆炸剧烈程度,调整更换爆炸材质,调整爆炸速度接口,并控制显示调整后的模拟爆炸火焰效果;
开发出火焰爆炸特效的相关接口,调整爆炸半径,调整爆炸剧烈程度,调整更换爆炸材质,调整爆炸速度等接口。
例如:
1)设置爆炸半径为5000m和10000m的对比图;
例如,图3是爆炸范围5000m示意图;图4是爆炸范围10000m示意图。
2)设置爆炸剧烈程度;
例如,设置爆炸剧烈程度为1,效果如图5所示;设置爆炸程度为2.5,效果如图6所示;
3)设置爆炸更换材质;
更换火焰材质颜色,效果如图7所示;
本发明提供一种基于图形学在GIS系统模拟爆炸火焰效果处理方法,本发明实现了编写一些特效来辅助呈现业务事件中描述的事态,可以很方便实现火焰爆炸特效,能在GIS系统模拟爆炸火焰效果,方便用户操作使用,并且实现简单,可靠性高。
在一个实施例中,本发明提供了一种基于图形学在GIS系统模拟爆炸火焰效果处理装置,如图8所示,所述装置包括:
预先设置模块41,用于预先将实体和表现分别抽象成几何体和材质;爆炸特效针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
基础数据模块42,用于以一个三维球体几何体的初始顶点作为火焰爆炸特效的基础数据;
第一获取模块43,用于通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量;
第二获取模块44,用于获取当前时间time和位置坐标position;
计算模块45,用于通过柏林噪声算法算出当前顶点的最新位置;
渲染显示模块46,用于利用片元着色器加载火焰特效贴图,完成整体特效渲染;具体如上所述。
在一个实施例中,本发明提供了一种计算机设备,该设备可以是终端,内部结构如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自然语言模型的生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9所示的仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现以下步骤:
预先将实体和表现分别抽象成几何体和材质;爆炸特效针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
以一个三维球体几何体的初始顶点作为火焰爆炸特效的基础数据;
通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量;
获取当前时间time和位置坐标position;
通过柏林噪声算法算出当前顶点的最新位置;
利用片元着色器加载火焰特效贴图,完成整体特效渲染。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述获取三维球表面各顶点法向量步骤之前还包括:
选用开源图形引擎mapboxgl.js和three.js作为开发工具;选用webgis领域的地图开源引擎mapboxgl.js作为开发工具,用作地理信系统;选用web端通用引擎的three.js作为开发工具,支持图形学底层接口webgl的开发
进行火焰爆炸的程序设计;
具体实现火焰爆炸着色器程序。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量的步骤还包括:
在初始三维球体的顶点着色器上获取法向量normal;所述法向量包括球心和球面顶点之间的单位向量。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量的步骤还包括:
将真实火焰爆炸的效果分解为着色器程序中改变顶点变化的程序;
通过着色器程序打乱顶点位置;使球面上每个顶点必须以一定规律改变自身的长度;所述一定规律为连贯的、非突变变化的规律并让某一片距离相近的顶点以同一规律起伏。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述通过柏林噪声算法算出当前顶点的最新位置的步骤包括:
在顶点着色器中调用柏林算法,分别输入当前时间time,位置坐标position,当前位置坐标的法向量,按照柏林噪声算法计算出顶点最新所处的新坐标位置;
所述新坐标位置包含需要的要素参数,连续变化参数、周围关联变化参数、变化速度参数;
顶点着色器并行返回出整个爆炸球体所有顶点的新坐标,并且随时间time的变化呈现出爆炸的效果。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述利用片元着色器加载火焰特效贴图,完成整体特效渲染的步骤包括:
使用一张包含从黑色到红色进而到黄色的色度图,用作模拟火焰爆炸的外纹理;将该纹理加载进片元着色器,进行物体纹理贴图;
利用片元着色器加载火焰特效贴图,完成整体特效渲染。
所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其中,所述利用片元着色器加载火焰特效贴图,完成整体特效渲染的步骤之后还包括:
通过火焰爆炸特效的相关接口,调整爆炸半径,调整爆炸剧烈程度,调整更换爆炸材质,调整爆炸速度接口,并控制显示调整后的模拟爆炸火焰效果;具体如上所述。
综上所述,与现有技术相比,本发明实施例具有以下优点:
本发明的一种基于图形学在GIS系统模拟爆炸火焰效果处理方法及装置、计算机设备、可读存储介质,提供一种基于图形学在GIS系统模拟爆炸火焰效果处理方法及装置、计算机设备、可读存储介质,提供一种基于图形学在GIS系统模拟爆炸火焰效果处理的方法。本发明实现了编写一些特效来辅助呈现业务事件中描述的事态,可以很方便实现火焰爆炸特效,能在GIS系统模拟爆炸火焰效果,方便用户操作使用,并且实现简单,可靠性高。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于图形学在GIS系统模拟爆炸火焰效果处理方法,其特征在于,所述方法包括:
预先将实体和表现分别抽象成几何体和材质;爆炸特效针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
以一个三维球体几何体的初始顶点作为火焰爆炸特效的基础数据;
通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量;
获取当前时间time和位置坐标position;
通过柏林噪声算法算出当前顶点的最新位置;
利用片元着色器加载火焰特效贴图,完成整体特效渲染。
2.根据权利要求1所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其特征在于,所述获取三维球表面各顶点法向量步骤之前还包括:
选用开源图形引擎mapboxgl.js和three.js作为开发工具;选用webgis领域的地图开源引擎mapboxgl.js作为开发工具,用作地理信系统;选用web端通用引擎的three.js作为开发工具,支持图形学底层接口webgl的开发;
进行火焰爆炸的程序设计;
具体实现火焰爆炸着色器程序。
3.根据权利要求1所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其特征在于,所述通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量的步骤还包括:
在初始三维球体的顶点着色器上获取法向量normal;所述法向量包括球心和球面顶点之间的单位向量。
4.根据权利要求1所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其特征在于,所述通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量的步骤还包括:
将真实火焰爆炸的效果分解为着色器程序中改变顶点变化的程序;
通过着色器程序打乱顶点位置;使球面上每个顶点必须以一定规律改变自身的长度;所述一定规律为连贯的、非突变变化的规律并让某一片距离相近的顶点以同一规律起伏。
5.根据权利要求4所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其特征在于,所述通过柏林噪声算法算出当前顶点的最新位置的步骤包括:
在顶点着色器中调用柏林算法,分别输入当前时间time,位置坐标position,当前位置坐标的法向量,按照柏林噪声算法计算出顶点最新所处的新坐标位置;
所述新坐标位置包含需要的要素参数,连续变化参数、周围关联变化参数、变化速度参数;
顶点着色器并行返回出整个爆炸球体所有顶点的新坐标,并且随时间time的变化呈现出爆炸的效果。
6.根据权利要求1所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其特征在于,所述利用片元着色器加载火焰特效贴图,完成整体特效渲染的步骤包括:
使用一张包含从黑色到红色进而到黄色的色度图,用作模拟火焰爆炸的外纹理;将该纹理加载进片元着色器,进行物体纹理贴图;
利用片元着色器加载火焰特效贴图,完成整体特效渲染。
7.根据权利要求1所述基于图形学在GIS系统模拟爆炸火焰效果处理方法,其特征在于,所述利用片元着色器加载火焰特效贴图,完成整体特效渲染的步骤之后还包括:
通过火焰爆炸特效的相关接口,调整爆炸半径,调整爆炸剧烈程度,调整更换爆炸材质,调整爆炸速度接口,并控制显示调整后的模拟爆炸火焰效果。
8.一种基于图形学在GIS系统模拟爆炸火焰效果处理装置,其特征在于,所述装置包括:
预先设置模块,用于预先将实体和表现分别抽象成几何体和材质;爆炸特效针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
基础数据模块,用于以一个三维球体几何体的初始顶点作为火焰爆炸特效的基础数据;
第一获取模块,用于通过顶点着色器获取需要模拟爆炸火焰的三维球表面各顶点法向量;
第二获取模块,用于获取当前时间time和位置坐标position;
计算模块,用于通过柏林噪声算法算出当前顶点的最新位置;
渲染显示模块,用于利用片元着色器加载火焰特效贴图,完成整体特效渲染。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述基于图形学在GIS系统模拟爆炸火焰效果处理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的基于图形学在GIS系统模拟爆炸火焰效果处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010111323.3A CN111311761B (zh) | 2020-02-24 | 2020-02-24 | 基于图形学在gis系统模拟爆炸火焰效果处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010111323.3A CN111311761B (zh) | 2020-02-24 | 2020-02-24 | 基于图形学在gis系统模拟爆炸火焰效果处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111311761A true CN111311761A (zh) | 2020-06-19 |
CN111311761B CN111311761B (zh) | 2023-08-11 |
Family
ID=71145098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010111323.3A Active CN111311761B (zh) | 2020-02-24 | 2020-02-24 | 基于图形学在gis系统模拟爆炸火焰效果处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111311761B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733366A (zh) * | 2021-01-12 | 2021-04-30 | 中国人民解放军陆军军事交通学院军事交通运输研究所 | 一种新型实时高爆弹破片毁伤仿真方法 |
CN117472592A (zh) * | 2023-12-27 | 2024-01-30 | 中建三局集团有限公司 | 基于顶点着色器与纹理映射的三维模型爆炸方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106342298B (zh) * | 2013-01-22 | 2015-05-27 | 北京军区军事训练模拟仿真研发服务中心 | 一种多点爆炸效果的实时生成方法 |
-
2020
- 2020-02-24 CN CN202010111323.3A patent/CN111311761B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106342298B (zh) * | 2013-01-22 | 2015-05-27 | 北京军区军事训练模拟仿真研发服务中心 | 一种多点爆炸效果的实时生成方法 |
Non-Patent Citations (1)
Title |
---|
全伟衡: "基于OpenGL细分着色器的实时爆炸模拟", 《现代计算机(专业版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733366A (zh) * | 2021-01-12 | 2021-04-30 | 中国人民解放军陆军军事交通学院军事交通运输研究所 | 一种新型实时高爆弹破片毁伤仿真方法 |
CN112733366B (zh) * | 2021-01-12 | 2022-09-16 | 中国人民解放军陆军军事交通学院军事交通运输研究所 | 一种实时高爆弹破片毁伤仿真方法 |
CN117472592A (zh) * | 2023-12-27 | 2024-01-30 | 中建三局集团有限公司 | 基于顶点着色器与纹理映射的三维模型爆炸方法及系统 |
CN117472592B (zh) * | 2023-12-27 | 2024-03-19 | 中建三局集团有限公司 | 基于顶点着色器与纹理映射的三维模型爆炸方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111311761B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11436800B2 (en) | Interactive system and method providing real-time virtual reality visualization of simulation data | |
CN111324837B (zh) | web前端基于GIS系统的三维图表可视化方法及装置 | |
Wood et al. | Using 3D in visualization | |
CN111311761B (zh) | 基于图形学在gis系统模拟爆炸火焰效果处理方法及装置 | |
CN111429561A (zh) | 一种虚拟仿真渲染引擎 | |
US7463258B1 (en) | Extraction and rendering techniques for digital charting database | |
CN114375464A (zh) | 使用边界体积表示对虚拟空间中的动态单元进行光线追踪 | |
Rebecca et al. | TIN meets CAD—extending the TIN concept in GIS | |
KR20140000170A (ko) | 관여 매질에 의해 수광된 광의 양을 추정하기 위한 방법 및 대응하는 장치 | |
JP5916764B2 (ja) | 仮想環境における隠蔽の推定方法 | |
Han | 3D graphics for game programming | |
KR101680174B1 (ko) | 3차원 모델로부터 색칠공부도안 생성 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
JPWO2009104218A1 (ja) | 地図表示装置 | |
JP3326051B2 (ja) | 模擬海洋波画像の生成方法および生成装置 | |
CN114299203A (zh) | 虚拟模型的处理方法和装置 | |
CN114820980A (zh) | 三维重建方法、装置、电子设备和可读存储介质 | |
KR100848687B1 (ko) | 3차원 그래픽 처리 장치 및 그것의 동작 방법 | |
CN114399421A (zh) | 三维模型可见度数据的存储方法、装置、设备及存储介质 | |
Kumar et al. | Development of CAD algorithms for bezier curves/surfaces independent of operating system | |
CN111429559B (zh) | 基于图形学的gis系统模拟水体的数据处理方法及装置 | |
CN111292399A (zh) | 在gis系统基于粒子系统构建三维场景动画方法及装置 | |
Moreland et al. | Basics of Virtual Reality Modeling | |
US6429865B1 (en) | Triangle strip length maximization | |
Diehl et al. | Applications of serious games in Geovisualization | |
KR101933553B1 (ko) | 가상 조명 제공 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |