webgl
文章平均质量分 90
纯爱枫若情
前端数据可视化工程师
展开
-
cesium 解决 WebGLRenderingContext 丢失问题
通常来说,对于大多数使用场景,页面上只需要创建一个 cesium 的 viewer 就够用了。但是架不住,某些情况下,会需要多个 viewer 的存在。了解 cesium 的童鞋应该知道,一般情况下,一个 viewer 对应着一个 webgl context,如果有多个就会存在多个 WebGLRenderingContext。如果还不了解 WebGLRenderingContext 是什么的童鞋,建议去了解学习下 webgl 相关的知识,下面送上学习链接:https://develope原创 2021-11-29 17:35:19 · 6557 阅读 · 2 评论 -
将 gif 贴到 cesium 三维球上
前言最近做项目的过程中,碰到一些不太寻常的需求——将 gif 图贴到三维球上。首先我们分析下这一需求,朝 cesium 三维球上贴图并非难事,很多方式都能做到。采用多边形、方形、甚至于 SingleTileImageryProvider api,都能做到。但是问题最麻烦的地方在于,不仅仅要贴图片,而是需要贴 gif 动图。如果不是动图,而是一系列静态图片的话,实现起来的难度反而小一些。无非是,设置一些定时器,定时将当前加载的图片切换为下一张。笔者之前,就做过这种轮播效果。原创 2021-09-24 11:29:52 · 1275 阅读 · 0 评论 -
cesium 页面多 viewer 地图加载过缓解决方案
cesium 页面多 viewer 地图加载过缓问题解决方案小小吐槽一下自从开始搞 cesium 相关的东西,各种疑难杂症就开始接踵而至,层出不穷。更让人“气愤”的是,有些问题,就连 StackOverflow、Google 这种传统的解决问题的大杀招都不好用了,简直要给人气哭了好嘛!????不知道是不是因为搞 cesium 的人太少了,还是因为愿意分享的人太少了,不过从 GitHub 的关注度,其实也能看出点端倪。就拿同是 web 可视化三维框架的 three.js 和 cesium 来作对比吧原创 2020-12-28 17:43:04 · 7299 阅读 · 10 评论 -
cesium 模拟地球自转
cesium 模拟地球自转cesium 现有的机制分析默认情况下,cesium 的球体其实在三维中是保持静止的状态。而随着时间的流逝,默认的背景星空,是在不断地旋转的。这个逻辑,我们从 cesium 的源码中就能发现端倪。cesium 的 Scene 对象中,有个 render 方法,每一帧都被会调用,用于场景的重绘。而 render 中有个 updateEnvironment 方法,用于更新环境updateEnvironment 方法中,有一段更新 skyBox 的代码,同时我们能看到的原创 2020-11-04 11:14:17 · 3267 阅读 · 3 评论 -
前端 ajax 加载缓存方案
前端 ajax 加载缓存方案前言前端页面,对于用户来说,衡量其好坏,最直观的印象是加载速度。如果页面一点开即渲染好了,那么用户第一印象分也会高,其次才是页面设计的美观度,页面布局的合理性等等因素。一些常用的前端缓存我想,前端工程师都知道,由于网络传输的环境的限制,很多时候,页面加载的瓶颈其实是在 ajax 请求上面的。对于 html、css、image 等等静态资源,服务器一般都会通知...原创 2019-12-31 13:07:01 · 828 阅读 · 1 评论 -
1. 深入理解 WebGLShader 对象
概念WebGL API 的 WebGLShader 可以是一个顶点着色器(vertex shader)或片元着色器(fragment shader)。每个 WebGLProgram 都需要这两种类型的着色器。创建流程要创建一个 WebGLShader 需要使用 WebGLRenderingContext.createShader,通过 WebGLRenderingContext.shade...原创 2019-07-19 17:22:03 · 718 阅读 · 0 评论 -
2. 深入理解 WebGLProgram 对象
概念WebGLProgram 是 WebGL API 的一部分,它由两个 WebGLShader (webgl着色器)组成,分别为顶点着色器和片元着色器(两种着色器都是由 GLSL 语言来写的)。**WebGLProgram **需要调用GL上下文的 createProgram() 方法,然后调用 attachShader() 方法附加上着色器,之后你才能将它们连接到一个可用的程序。使用方...原创 2019-07-20 22:47:03 · 1153 阅读 · 0 评论