![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cesium
文章平均质量分 59
搞GIS图形的sky.
三维GIS、图形相关,公众号:sky的数孪技术
展开
-
Cesium动态水波纹效果
关注公众号【sky的数孪技术】,技术交流、源码下载请添加VX:digital_twin123。原创 2024-07-22 13:12:11 · 200 阅读 · 0 评论 -
Cesium雷达扫描线效果
更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加VX:digital_twin123。原创 2024-07-22 13:11:12 · 346 阅读 · 0 评论 -
Cesium的Picking过程原理
这时,会更新screenSpaceRectangle,只对点击的相关区域进行渲染,也就是只会更新局部区域,并返回PickFramebuffer中的FBO,因此渲染结果都是保存在PickFramebuffer的帧缓冲中,完成ID纹理。其实拾取的思路很简单,就是来一张“ID”纹理,对每一个渲染的Object赋予一个唯一的ID并将ID转为RGBA,在渲染到“ID纹理”时,渲染的是ID颜色。这时用户点击想要拾取每一个地物,则查找对应ID纹理中的颜色值并转为ID,根据ID找到对应的地物。原创 2024-03-15 13:24:03 · 430 阅读 · 0 评论 -
Cesium插件系列——3dtiles压平
中获得该顶点的模型局部坐标。如果我们要实现压平,最好是在ENU坐标下来进行修改顶点坐标的高度。所以我们要实现的逻辑就是:将顶点坐标转成ENU坐标 -----> 判断是否在多边形范围内 -----> 若是则修改高度 -----> 转回模型坐标。我们转成ENU坐标后,其实可以在EN平面上去进行判断。将多边形的经纬度点都转成ENU坐标,只取xy值,然后跟该顶点进行平面判断。这里是根据Cesium提供的CustomShader来实现的。本系列为自己基于cesium写的一套插件具体实现。原创 2024-03-01 18:05:17 · 1135 阅读 · 0 评论 -
Cesium地表透明
通过将地表的drawCommand放到透明队列里渲染。现在发现有了新的方法(其实2020年就有该方法了):GlobeTranslucency。之前Cesium是不能地表透明的,需要改内部代码,将GlobeSurfaceTileProvider.js中的。也可以设置根据到相机的距离获取或设置地球背面的近和远半透明属性。当相机位于地下时,背面和正面会交换,即背面几何形状被视为正面。来计算的,所有这些都可能包含半透明度。还可以设置矩形范围,来呈现范围内的透明表面。下面代码是修改影像的透明度,可以看到地下。原创 2024-03-01 17:51:12 · 673 阅读 · 0 评论 -
新版本cesium的注意点
之前基于1.99版本写了一套插件,最近想替换成目前的新版本(114),发现有很多写法都不能用了,这里做一下记录。原创 2024-02-20 14:27:16 · 827 阅读 · 0 评论 -
CesiumJS 中绘制大多边形
尽管它们通常会扭曲面积(这就是为什么这种类型的投影在极地区域之外的映射中不常见的原因),但保留形状对于我们在多边形上执行的几何操作至关重要。从性能的角度来看,在创建几何图形时,分割多边形可能是一项昂贵的操作,因为该算法对每个多边形和每个分割平面进行操作。但是,一旦进行三角剖分,任何分割的多边形都会稍后在管道中重新组合,作为几何批处理步骤的一部分,以确保与以前相同的渲染性能。在Cesium的早期版本和一些引擎中,我们绘制这种跨度比较大的多边形,经常会看到一些奇怪的冲突问题,如下图所示。一种简单的解决方案是。原创 2023-10-22 19:46:47 · 402 阅读 · 0 评论 -
Cesium里自定义primitive
在不改Cesium源码下,在外部添加一个primitive。原创 2023-07-09 10:16:52 · 964 阅读 · 0 评论 -
Cesium阴影技术
【以前的文章存档】Cesium的阴影技术用的是Cascaded Shadow Mapping(简称CSM),先来说下两种阴影类型,一种是另一种是。原创 2023-07-02 10:07:44 · 2166 阅读 · 0 评论 -
Cesium之雾的实现
以前记录的文章。雾是一种让远处几何渐隐的图形技术。早期的游戏引入了雾来隐藏在远处渲染的几何图形。即使在不再需要它之后,游戏仍然支持fog,因为它增加了场景的真实性,减少了draw call的数量,因为完全在fog中的几何体可以被剔除。在Cesium中,雾是大气颜色和地平线上地形的混合。部分处于雾中的地形瓦片会增加其屏幕空间误差(SSE),这样可以渲染低分辨率的地形。完全在雾中的瓦片将被完全剔除,甚至不被请求。这些优化将地平线视图中渲染的瓦片和从服务器请求的瓦片的数量都减少了35%。原创 2023-07-02 10:02:27 · 591 阅读 · 0 评论 -
Cesium天空盒生成及顺序调整
此时如果直接用于cesium的天空盒的话,会发现有问题,个别图片颠倒,并不能使用,所以我们需要将这几张贴图做一下顺序调整。天空盒设置的时候,找好对应顺序即可加载。转换之后可以获得六张盒子贴图。nx:顺时针旋转90°。px:逆时针旋转90°。原创 2023-06-14 12:38:14 · 641 阅读 · 0 评论 -
批量obj格式直接转gltf
注意:由于库改变,批处理代码有问题,此为老代码。 -2018.2.7在cesium中的模型需要的是gltf或glb格式的文件,之前的做法是用将模型从3d max中导出dae格式的文件(需要插件),然后用collada2gltf工具将dae格式转成gltf。 最近翻看cesium的官博上,推荐了一个obj2gltf的库,地址https://github.com/AnalyticalGraphic原创 2016-11-09 21:30:39 · 20216 阅读 · 11 评论 -
Cesium学习笔记
一、Cesium简介Cesium 是一个JavaScript库用于在Web浏览器创建 3D 地球和 2D 地图,无需任何插件。Cesium 使用 WebGL 来进行硬件加速图形化;跨平台;跨浏览器;实现真正的动态数据进行可视化。Cesium 基于 Apache 开源协议,支持商业和非商业免费使用。该框架不需要任何插件支持,但是浏览器必须支持WebGL。Cesium 主要特性原创 2016-08-06 22:30:31 · 5585 阅读 · 0 评论 -
Cesium学习笔记(2)
Cesium学习笔记(2)(1).坐标系转换cesium中常用的坐标有两种WGS84地理坐标系和笛卡尔空间坐标系(世界坐标)。我们平时常用的以经纬度来指明一个地点就是用的WGS84坐标,笛卡尔空间坐标系常用来做一些空间位置变换如平移旋转缩放等等。二者的联系如下图, 笛卡尔空间坐标的原点就是椭球的中心. Pick----屏幕坐标 Cartesian----世界坐标 cartog原创 2016-09-11 12:12:40 · 24267 阅读 · 9 评论 -
protobuf高效传输
protobuffer cesium大数据量高效传输原创 2017-05-20 17:22:23 · 5153 阅读 · 0 评论 -
Cesium-3D Tiles 跳跃式层级细节
翻译自http://cesiumjs.org/2017/05/05/Skipping-Levels-of-Detail/ ,有改动 Cesium的3D Tiles使用分层细节(HLOD)来自适应地加载和优化3D模型。这样做能够使模型在离相机很远的时候能够渲染低分辨率的瓦片,在离相机近的时候渲染高分辨的瓦片。但是,展示HLOD模型的通用方法是加载每一级别分辨率的瓦片直到所需的翻译 2017-05-11 16:17:39 · 10799 阅读 · 3 评论 -
Cesium热力图实现
生成热力图的算法我是用的一个热力图插件 heatmap.js。heatmap中热力图生成原理:heatmap中首先会根据输入的渐进色参数,在内部生成一个0-255色值的调色板。var _getColorPalette = function(config) { var gradientConfig = config.gradient || config.defa原创 2017-05-14 10:01:46 · 21271 阅读 · 7 评论 -
Cesium之地形(1)
Cesium地形简介Cesium支持多种地形格式和服务,Cesium的母公司AGI提供了两份免费使用的地形数据,一个叫“STK World Terrain”,它是高分辨率,基于mesh的地形数据;另一个叫“PAMap Terrain”,处于美国宾夕法尼亚州的一处地形数据。在Cesium中,地形和影像是不同处理的,默认是影像覆盖在地形上,任何的影像的provider都可以在任何的地形原创 2017-05-11 12:28:17 · 20164 阅读 · 1 评论 -
Cesium学习笔记(5)
1.更改cesium的选择框大小 在Souce/Widgets/SelectionIndicator/SelectionIndicator.js中修改: 在Souce/Widgets/SelectionIndicator/ SelectionIndicator.css中修改: 2.对于label和billboard字体或图片不清晰问题的解决方案:原因:billboard是栅格图像,处在原创 2016-12-25 16:08:27 · 8753 阅读 · 1 评论 -
基于Cesium的demo赏析(持续更新)
更新于2017.1.14Cesium的强大不用多说,所以有很多政府、组织基于cesium做了一些应用,其中不乏有很多优秀的示例,我们大都可以从中获得对自己的项目有益的东西。另:有的网站需要翻墙。 1.一个NASA的海洋风向可视化项目 网址:http://mwsci.jpl.nasa.gov/rapidscat/ 2.Cesium官网的一个滑雪的demo,里面还有视频播放 网址:http原创 2016-12-05 22:42:29 · 36465 阅读 · 22 评论 -
Cesium加载MBTiles矢量切片
MBTiles 是由 MapBox 制定的一种将瓦片地图数据存储到SQLite数据库中并可快速使用,管理和分享的规范。该规范由MapBox制定,详见http://mapbox.com/mbtiles-spec/。 透过数据库索引的方式提高瓦片索引的效率,比通过瓦片文件方式的读取要快的多。MBTiles其实只是一个SQLite数据库文件,优点在于小,方便迁移,可以存在于移动端。 MBTiles切分后原创 2016-11-27 22:28:57 · 19410 阅读 · 14 评论 -
Cesium之Primitive相关探索
Primitive: 它代表着场景(scene)中的几何体,这个几何体可以是一个几何实例,或者由一组几何实例合并而成,即便它们是不同种类的几何体,例如一个矩形和一个椭球。 primitive通过把几何体和外观进行解耦,能够让我们混合和匹配他们中的大多数来添加一个新的几何体,或者彼此独立的外观。 它主要由两部分组成: ①.几何实例(GeometryInstance):定义了primitive的原创 2016-10-07 15:46:53 · 9929 阅读 · 1 评论 -
Cesium学习笔记(4)
1.方位与方向(orientation和position)Orientation:若以正北为参照。Heading:初始方向为正北,正角度为向东旋转,即水平旋转Pitch:正角度为平面之上,负角度为平面之下,即前后旋转Roll:左右旋转Position:关于position有多种类型,如SampledPositionProperty类型,是一个含有多个样本点位置的对象,主原创 2016-09-24 20:10:12 · 23228 阅读 · 5 评论 -
Cesium学习笔记(3)
1.解决czml生成轨迹后,模型无法转向的问题生成运动轨迹:在czml文件中储存轨迹点数据,通过load方法加载该czml文件,return一个CzmlDataSource类型的Promise对象,然后在回调中处理该对象。viewer.dataSources.add(Cesium.CzmlDataSource.load(czmlTest)).then(function(ds){原创 2016-09-17 13:42:23 · 8732 阅读 · 3 评论