CN112102450B - 一种基于WebGL三维地图的跑马灯特效通用方法 - Google Patents

一种基于WebGL三维地图的跑马灯特效通用方法 Download PDF

Info

Publication number
CN112102450B
CN112102450B CN202011289627.5A CN202011289627A CN112102450B CN 112102450 B CN112102450 B CN 112102450B CN 202011289627 A CN202011289627 A CN 202011289627A CN 112102450 B CN112102450 B CN 112102450B
Authority
CN
China
Prior art keywords
marquee
special effect
texture
shader
webgl
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.)
Active
Application number
CN202011289627.5A
Other languages
English (en)
Other versions
CN112102450A (zh
Inventor
周娥
刘宏磊
刘池凯
杨健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Geospace Information Technology Co., Ltd.
Original Assignee
Wuda Geoinformatics Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuda Geoinformatics Co ltd filed Critical Wuda Geoinformatics Co ltd
Priority to CN202011289627.5A priority Critical patent/CN112102450B/zh
Publication of CN112102450A publication Critical patent/CN112102450A/zh
Application granted granted Critical
Publication of CN112102450B publication Critical patent/CN112102450B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本发明提供一种基于WebGL三维地图的跑马灯特效通用方法,包括以下:创建跑马灯特效构造模块,并设计跑马灯特效参数;根据所述构造模块、跑马灯特效参数,利用跑马灯特效着色器设计跑马灯纹理动画;将所述跑马灯纹理动画添加至内置缓存纹理;根据内置缓存纹理,在WebGL三维地图中实现跑马灯特效。本发明提供的有益效果是:重点解决了跑马灯特效中纹理运动的关键问题。通过片元着色器让纹理运动起来,再将其添加到系统的内置纹理缓存中,就能在三维地图中使用跑马灯特效,弥补了三维地图特效在这一方面的缺失,丰富了现有三维地图特效。

Description

一种基于WebGL三维地图的跑马灯特效通用方法
技术领域
本发明涉及三维数据显示领域,尤其涉及一种基于WebGL三维地图的跑马灯特效通用方法。
背景技术
WebGL是一种3D绘图标准,它把Javascript和OpenGLES2.0结合在一起,通过增加OpenGLES2.0的一个JavaScript绑定,WebGL可以直接为浏览器提供3D加速渲染,这样Web开发人员就可以借助系统显卡在浏览器里更流畅地展示3D场景和模型,还可以创建更复杂的导航和数据视觉化。
WebGL为HTML5Canvas提供硬件3D加速渲染,开发人员可以借助系统显卡在浏览器里更流畅地展示3D场景和模型。目前基于WebGL设计的3D画面有很多,其中包括了云层特效、雨水特效、水波纹特效和粒子喷射特效等。
现存webgl三维地图中缺乏跑马灯特效,所以跑马灯特效弥补了webgl三维地图中特效的不足。动态的跑马灯特效能对数据进行清晰明了的展示,是三维地图可视化中不可缺少的一部分。
发明内容
有鉴于此,为了解决现有技术中的不足,本发明提出一种基于WebGL三维地图的跑马灯特效通用方法。本发明实际要解决的技术问题是:如何实现WebGL在浏览器中的跑马灯特效。
本发明提出的一种基于WebGL三维地图的跑马灯特效通用方法,具体包括以下:
S101:创建跑马灯特效构造模块,并设计跑马灯特效参数;
S102:根据所述构造模块、跑马灯特效参数,利用跑马灯特效着色器设计跑马灯纹理动画;
S103:将所述跑马灯纹理动画添加至内置缓存纹理;
S104:根据内置缓存纹理,在WebGL三维地图中实现跑马灯特效。
进一步地,步骤S101具体为:在WebGL中增加一个全新的跑马灯特效构造函数,所述跑马灯特效参数,包括跑马灯贴图纹理路径、颜色、运动速度、纹理重复次数、运动方向和亮度。
进一步地,步骤S102中,所述跑马灯特效着色器的预设参数包括颜色、贴图纹理和时间三个参数。
进一步地,所述跑马灯特效着色器设计跑马灯纹理动画,具体过程为:
S201:构造一个输入材质对象material为空的跑马灯特效着色器;
S202:利用跑马灯特效着色器材质获取模块获取着色器的输入材质对象material;
S203:将所述输入材质对象material的坐标与所述纹理重复次数相乘得到纹理重复的坐标;
S204:调用所述跑马灯贴图纹理路径和运动方向,结合跑马灯特效着色器的时间参数,实现跑马灯纹理运动。
进一步地,步骤S201中,所述输入材质对象material还被进行属性填充,具体过程为:
S301:调用跑马灯特效着色器的贴图纹理参数、颜色参数、跑马灯特效参数中的亮度参数,并将贴图纹理参数、颜色参数、亮度参数相乘,得到输入材质对象material的漫反射光强度;
S302:将所述贴图纹理参数与颜色参数中的透明度相乘,得到输入材质对象material的透明度;
S303:所述输入材质对象material的漫反射光强度和透明度,构成完整的输入材质对象属性,从而得到一个完整的跑马灯特效着色器。
进一步地,步骤S103中,将所述跑马灯纹理动画添加至内置缓存纹理,具体为:
S401:调用所述完整的跑马灯特效着色器;
S402:使用fabric描述跑马灯纹理动画;
S403:利用接口将跑马灯纹理动画添加到内置缓存纹理;
S404:输出跑马灯特效的构造函数。
步骤S104中根据内置缓存纹理,在WebGL三维地图中实现跑马灯特效,具体为:
在WebGL三维地图中添加几何对象,设计几何对象的坐标、大小及材质,材质即为跑马灯纹理动画;设置对应的跑马灯特效参数,实现跑马灯特效。
本发明提供的有益效果是:重点解决了跑马灯特效中纹理运动的关键问题。通过片元着色器让纹理运动起来,再将其添加到系统的内置纹理缓存中,就能在三维地图中使用跑马灯特效,弥补了三维地图特效在这一方面的缺失,丰富了现有三维地图特效。
附图说明
图1是本发明一种基于WebGL三维地图的跑马灯特效通用方法流程图;
图2是本发明跑马灯纹理运动设计的流程图;
图3是本发明输入材质对象属性设计的流程图;
图4是本发明将跑马灯纹理动画添加至内置缓存纹理的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
请参考图1,一种基于WebGL三维地图的跑马灯特效通用方法,包括以下:
S101:创建跑马灯特效构造模块,并设计跑马灯特效参数;
在WebGL中增加一个全新的跑马灯特效构造函数,所述跑马灯特效参数,包括跑马灯贴图纹理路径、颜色、运动速度、纹理重复次数、运动方向和亮度。
所述跑马灯贴图纹理路径,具体指的是跑马灯特效的纹理贴图,在本地端计算机存储的路径,比如为操作系统桌面,或者某个磁盘的某个文件夹,该文件夹专门存放有各式各样的跑马灯纹理贴图,本发明实施例中,采用的跑马灯纹理贴图为圆形贴图,另外在一些其他实施例中,还可以选用的纹理贴图为其他类型的跑马灯图片,这里不作限制。
所述颜色,指跑马灯特效的显示颜色,可以根据实际需求进行自定义颜色,本发明实施例中,颜色参数设置为绿色。
所述运动速度,指跑马灯特效滚动的速度,运动速度快,则跑马灯特效显示一轮时间短,反之显示时间长;运动速度可以根据实际需要进行合适调整。在本实施例中,运动速度具体设置为1000。
所述纹理重复次数,具体指:贴图纹理在地图二维坐标的x方向或是y方向的重复次数。在本实施例中,纹理重复次数设置为new Cartesian2(10.0, 1.0),表示纹理在x方向重复十次,在y方向不重复。
所述运动方向,包括x方向和y方向;基于显示地图二维坐标而言,横向水平即为x方向,纵向竖直即为y方向;本发明实施例中,运动方向设置为x方向。
所述亮度,具体指跑马灯显示时的亮度,其取值为:1.0,越高表示显示亮度越大,本实施例中可以根据实际需要进行合适调整。
S102:根据所述构造模块、跑马灯特效参数,利用跑马灯特效着色器设计跑马灯纹理动画;
请参考图2,所述跑马灯特效着色器设计跑马灯纹理动画,具体过程为:
S201:构造一个输入材质对象material为空的跑马灯特效着色器;
所述跑马灯特效着色器的预设参数包括颜色、贴图纹理和时间三个参数。输入材质对象material在构造时,其具体的属性为空,需要进行属性填充。
着色器的颜色参数表示跑马灯的显示颜色,贴图纹理表示跑马灯中的贴图纹理,时间表示跑马灯运动的具体时间,运用当前时间与跑马灯动画开始的时间相减,接着求差值对运动速度的余数,得到的结果除以运动速度,就得到时间。
S202:利用跑马灯特效着色器材质获取模块获取着色器的输入材质对象material;
本实施例中,跑马灯特效着色器材质获取模块采用的为czm_getMaterial方法,该方法用于获取跑马灯特效着色器的输入材质对象material;所述输入材质对象material具体为具有默认值的默认材质,其中包括了二维纹理坐标。
S203:将所述输入材质对象material的坐标与所述纹理重复次数相乘得到纹理重复的坐标;
本实施例中,输入材质对象material的坐标为二维纹理坐标,纹理重复次数为newCartesian2(10.0, 1.0),相乘后得到纹理重复的二维纹理坐标,该结果即为纹理重复的坐标。
请参考图3,获取纹理重复的坐标后,需要对输入材质对象material进行属性上的填充,包括其漫反射光强度和透明度,计算过程具体为:
S301:调用跑马灯特效着色器的贴图纹理参数、颜色参数、跑马灯特效参数中的亮度参数,并将贴图纹理参数、颜色参数、亮度参数相乘,得到输入材质对象material的漫反射光强度;
S302:将所述贴图纹理参数与颜色参数中的透明度相乘,得到输入材质对象material的透明度;
S303:所述输入材质对象material的漫反射光强度和透明度,构成完整的输入材质对象属性,从而得到一个完整的跑马灯特效着色器。
获得了输入材质对象的漫反射光强度和透明度以后,将该对象返回到czm_getMaterial方法,得到一个完整的跑马灯特效着色器。
S204:调用所述跑马灯贴图纹理路径和运动方向,结合跑马灯特效着色器的时间参数,实现跑马灯纹理运动。
调用跑马灯特效参数中的纹理贴图路径和运动方向,判断纹理是在x或y方向重复后,结合在着色器中定义的时间参数,通过着色器的内建函数texture2D来获取对应位置的贴图纹理,随着时间的变化,纹理坐标也随之变化,以此来实现纹理运动。
S103:将所述跑马灯纹理动画添加至内置缓存纹理;
请参考图4,图4本发明将跑马灯纹理动画添加至内置缓存纹理的流程图,本发明实施例中具体流程如下:
S401:利用fabric中的source来调用跑马灯特效着色器调用所述完整的跑马灯特效着色器;
fabric是用于描述Cesium中的材质的JSON模式,source是fabric的属性,在source属性中,根据名称访问相应的着色器。
S402:使用fabric描述跑马灯纹理动画;
fabric属性包括type、uniforms、source,type表示跑马灯特效的类型,将跑马灯特效的材质缓存到cesium的材质中,以后再调用跑马灯特效时,就可以直接引用该材质,就如同内置材质一样;uniform是一种输入参数变量,在创建材质时或者创建材质后修改,跑马灯特效的uniform包括了所有的跑马灯特效参数,在创建跑马灯特效材质时设置;source用于调用跑马灯特效着色器来实现跑马灯特效。
S403:利用接口将跑马灯纹理动画添加到内置缓存纹理;
本发明实施例中,通过addMaterial接口,将跑马灯纹理动画添加到内置缓存纹理。在一些其他实施例中,也可以采用具有相同功能的其他接口。
S404:输出跑马灯特效的构造函数。
这里,输出的构造函数,即为构造完毕的完整的带有特效的跑马灯特效构造函数。
S104:根据内置缓存纹理,在WebGL三维地图中实现跑马灯特效。
在WebGL三维地图中添加几何对象,设计几何对象的坐标、大小及材质,材质即为跑马灯纹理动画;设置对应的跑马灯特效参数,实现跑马灯特效。
以上仅为解释本发明用,并不用以进行限制。
本发明的解决的问题在于,基于webgl三维地图的跑马灯特效如何实现跑马灯的贴图和运动,其核心是怎么让纹理持续运动,以保证渲染出来的结果是动态的。
在本发明中主要利用着色器来实现跑马灯的运动效果,通过着色器的内建函数texture2D来获取对应位置的纹理,不断改变纹理位置来实现纹理运动。
本发明提供的有益效果是:重点解决了跑马灯特效中纹理运动的关键问题。通过片元着色器让纹理运动起来,再将其添加到系统的内置纹理缓存中,就能在三维地图中使用跑马灯特效,弥补了三维地图特效在这一方面的缺失,丰富了现有三维地图特效。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种基于WebGL三维地图的跑马灯特效通用方法,其特征在于:具体包括以下步骤:
S101:创建跑马灯特效构造模块,并设计跑马灯特效参数;
S102:根据所述构造模块、跑马灯特效参数,利用跑马灯特效着色器设计跑马灯纹理动画;
S103:将所述跑马灯纹理动画添加至内置缓存纹理;
S104:根据内置缓存纹理,在WebGL三维地图中实现跑马灯特效;
步骤S101具体为:在WebGL中增加一个全新的跑马灯特效构造函数,所述跑马灯特效参数,包括跑马灯贴图纹理路径、颜色、运动速度、纹理重复次数、运动方向和亮度;
步骤S102中,所述跑马灯特效着色器的预设参数包括颜色、贴图纹理和时间三个参数;
所述跑马灯特效着色器设计跑马灯纹理动画,具体过程为:
S201:构造一个输入材质对象material为空的跑马灯特效着色器;
S202:利用跑马灯特效着色器材质获取模块获取着色器的输入材质对象material;
S203:将所述输入材质对象material的坐标与所述纹理重复次数相乘得到纹理重复的坐标;
S204:调用所述跑马灯贴图纹理路径和运动方向,结合跑马灯特效着色器的时间参数,实现跑马灯纹理运动;
步骤S201中,所述输入材质对象material还被进行属性填充,具体过程为:
S301:调用跑马灯特效着色器的贴图纹理参数、颜色参数、跑马灯特效参数中的亮度参数,并将贴图纹理参数、颜色参数、亮度参数相乘,得到输入材质对象material的漫反射光强度;
S302:将所述贴图纹理参数与颜色参数中的透明度相乘,得到输入材质对象material的透明度;
S303:所述输入材质对象material的漫反射光强度和透明度,构成完整的输入材质对象属性,从而得到一个完整的跑马灯特效着色器。
2.如权利要求1所述的基于WebGL三维地图的跑马灯特效通用方法,其特征在于:
步骤S103中,将所述跑马灯纹理动画添加至内置缓存纹理,具体为:
S401:调用所述完整的跑马灯特效着色器;
S402:使用fabric描述跑马灯纹理动画;
S403:利用接口将跑马灯纹理动画添加到内置缓存纹理;
S404:输出跑马灯特效的构造函数。
3.如权利要求2所述的基于WebGL三维地图的跑马灯特效通用方法,其特征在于:步骤S104中根据内置缓存纹理,在WebGL三维地图中实现跑马灯特效,具体为:
在WebGL三维地图中添加几何对象,设计几何对象的坐标、大小及材质,材质即为跑马灯纹理动画;设置对应的跑马灯特效参数,实现跑马灯特效。
CN202011289627.5A 2020-11-18 2020-11-18 一种基于WebGL三维地图的跑马灯特效通用方法 Active CN112102450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011289627.5A CN112102450B (zh) 2020-11-18 2020-11-18 一种基于WebGL三维地图的跑马灯特效通用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011289627.5A CN112102450B (zh) 2020-11-18 2020-11-18 一种基于WebGL三维地图的跑马灯特效通用方法

Publications (2)

Publication Number Publication Date
CN112102450A CN112102450A (zh) 2020-12-18
CN112102450B true CN112102450B (zh) 2021-02-02

Family

ID=73784658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011289627.5A Active CN112102450B (zh) 2020-11-18 2020-11-18 一种基于WebGL三维地图的跑马灯特效通用方法

Country Status (1)

Country Link
CN (1) CN112102450B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591649A (zh) * 2011-12-17 2012-07-18 无敌科技(西安)有限公司 一种以动画形式显示信息提示接口及其方法
CN102955854B (zh) * 2012-11-06 2015-11-25 搜游网络科技(北京)有限公司 一种基于html5协议的网页展现方法及装置
CN103337089A (zh) * 2013-06-26 2013-10-02 四川长虹电器股份有限公司 一种在3d空间中实现文字跑马灯效果的方法
CN103413344A (zh) * 2013-07-10 2013-11-27 深圳Tcl新技术有限公司 3d帧动画实现方法、装置及终端
US10324736B2 (en) * 2017-01-13 2019-06-18 Zspace, Inc. Transitioning between 2D and stereoscopic 3D webpage presentation
US11457289B2 (en) * 2018-02-22 2022-09-27 Microsoft Technology Licensing, Llc Low latency broadcasting of game engine frames

Also Published As

Publication number Publication date
CN112102450A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN110443893B (zh) 大规模建筑场景渲染加速方法、系统、装置和存储介质
CN112270756B (zh) 一种应用于bim模型文件的数据渲染方法
US20230053462A1 (en) Image rendering method and apparatus, device, medium, and computer program product
US9852544B2 (en) Methods and systems for providing a preloader animation for image viewers
WO2022116659A1 (zh) 一种体积云渲染方法、装置、程序和可读介质
US10347042B2 (en) Importance sampling of sparse voxel octrees
US9275493B2 (en) Rendering vector maps in a geographic information system
US9530242B2 (en) Point and click lighting for image based lighting surfaces
CN110544290A (zh) 数据渲染方法及装置
CN113674389B (zh) 场景渲染方法、装置、电子设备及存储介质
KR20070004878A (ko) 3차원 장면 계층구조를 2차원 합성 시스템으로 통합하기위한 데이터 구조, 방법 및 컴퓨터 판독가능 매체
CN113034657B (zh) 游戏场景中光照信息的渲染方法、装置及设备
RU2680355C1 (ru) Способ и система удаления невидимых поверхностей трёхмерной сцены
US9483873B2 (en) Easy selection threshold
CN112860839A (zh) 一种基于Unity3D的水环境质量实时监测方法及装置
CN114742931A (zh) 渲染图像的方法、装置、电子设备及存储介质
CN112102450B (zh) 一种基于WebGL三维地图的跑马灯特效通用方法
CN112001018A (zh) 一种基于云渲染的高效虚拟仿真实验平台测试方法
She et al. An efficient method for rendering linear symbols on 3D terrain using a shader language
CN111681307B (zh) 一种应用于三维软件的动态三维坐标轴的实现方法
CN115269756A (zh) 一种在cesium中引入热力图的方法及系统
CN111932689B (zh) 一种采用id像素图的三维对象快速选取方法
CN114022601A (zh) 一种体积元素渲染方法、装置及设备
Seng et al. Realistic real-time rendering of 3D terrain scenes based on OpenGL
CN113487708B (zh) 基于图形学的流动动画实现方法、存储介质及终端设备

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
CP01 Change in the name or title of a patent holder

Address after: 430000 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan District, Donghu Development Zone, Wuhan City, Hubei Province

Patentee after: Geospace Information Technology Co., Ltd.

Address before: 430000 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan District, Donghu Development Zone, Wuhan City, Hubei Province

Patentee before: WUDA GEOINFORMATICS Co.,Ltd.

CP01 Change in the name or title of a patent holder