
cesium
文章平均质量分 60
tianyapai
困局
展开
-
cesium ClippingPolygon多边形裁切
多边形裁切原创 2024-06-17 16:25:39 · 2107 阅读 · 0 评论 -
cesium 判断模型是否在视锥内
cesium源码分析原创 2023-11-28 18:08:02 · 694 阅读 · 1 评论 -
Cesium 合并多张图像方法
合并多张图片原创 2023-03-09 16:26:15 · 761 阅读 · 0 评论 -
Cesium 源码解析 地球加载过程(一)
Cesium原创 2022-10-25 18:24:11 · 2567 阅读 · 0 评论 -
Cesium 源码分析 BatchTexture
cesium原创 2022-10-14 14:51:54 · 1417 阅读 · 0 评论 -
Cesium 源码解析 Model(六)
cesium原创 2022-09-23 17:10:13 · 1207 阅读 · 0 评论 -
Cesium 源码解析 Model(五)
cesium gltf WEB3D_quantized_attributes原创 2022-09-23 16:38:01 · 1135 阅读 · 0 评论 -
Cesium 源码解析 Model(四)
cesium model原创 2022-09-07 15:36:36 · 1726 阅读 · 0 评论 -
Cesium 源码解析 Model(三)
cesium model解析原创 2022-09-07 11:44:37 · 1299 阅读 · 0 评论 -
Cesium 源码解析 Model(二)
cesium原创 2022-09-06 17:37:58 · 1730 阅读 · 0 评论 -
Cesium 源码解析 Model(一)
cesium gltf model原创 2022-09-02 18:11:55 · 2269 阅读 · 0 评论 -
cesium gltf 1.0 2.0的一些扩展
gltf扩展原创 2022-08-30 17:11:31 · 1161 阅读 · 0 评论 -
关于椭球的一点形象的解说
投影原创 2022-08-26 15:09:34 · 525 阅读 · 0 评论 -
cesium wgs84 经纬度转笛卡尔坐标
cesium wgs84 经纬度转笛卡尔坐标原创 2022-08-26 11:55:25 · 1287 阅读 · 0 评论 -
gltf规范翻译
gltf规范翻译 2022-08-29 13:40:11 · 1038 阅读 · 0 评论 -
cesium 源码解析 ShaderProgram
shaderprogram原创 2022-08-10 11:49:58 · 2349 阅读 · 0 评论 -
cesium 压平的一种实现方式
cesium压平原创 2022-08-02 18:20:09 · 2864 阅读 · 0 评论 -
cesium 源码分析 裁切面原理
cesium 裁切面原理原创 2022-08-02 17:58:57 · 684 阅读 · 0 评论 -
cesium 源码分析 Cesium3DTileset (一)
cesium中的Cesium3DTileset是用来解析3DTiles数据的类,了解这一步之前建议对3Dtiles及gltf的数据标准有所了解,同时对gis系统有所了解。3Dtiles: gltf/glb: gis:Cesium3DTileset是一个cesium对外的接口类用于接收3DTiles数据,调用方法如下: var tileset = scene.primitives.add(new Cesium.Cesiu...原创 2021-11-12 17:47:25 · 6101 阅读 · 4 评论 -
cesium 源码分析 worker与webassmbly
当前cesium的代码有有一部份是关于解压Draco压缩过的gltf/glb文件的过程,这个过程封装在了DracoLoader.js中,这个过程中使用到了worker+webassmbly提高执行效率,现在大致分解一下执行的过程,至于如何编写wasm文件以及如何执行可参考Emscripten官网,使用emsdk工具链处理。DracoLoader.js中调用线程的过程代码如下:// 全局变量DracoLoader._decoderTaskProcessor = unde...原创 2021-11-12 17:23:41 · 2976 阅读 · 0 评论 -
cesium 源码分析 worker
cesium中使用线程的一个方面是进行几何数据计算,通常计算耗时,放到线程中计算也很合理,但是通常几何数据占用相当大的内存,虽然浏览器中主线程与子线程传递数据可以使用如下方式转移内存的所有权myWorker.postMessage(aMessage, transferList);参数aMessageThe object to deliver to the worker; this will be in the data field in the event delivered...原创 2021-10-20 19:02:41 · 2319 阅读 · 0 评论 -
cesium 的几个默认用法
cesium有几个默认的用法,不知道如何翻译,但是不了解还是感觉很不舒服:1、带有scratch部分的关键词,主要是一些全局的临时变量,用于减少内存的申请,大部分是在某个函数的开始部分清空内容,参与计算,计算完成后再次清空内容;2、带有Derived部分的关键词; DerivedCommand是根据Command中的shader添加了一些自己的glsl代码,但是与Command使用相同的几何数据; DerivedCommand 依附于Command存在,索引更新实体时,也要相应你的更原创 2021-10-15 18:28:06 · 857 阅读 · 0 评论 -
cesium 打包环境 浅析
今天遇到一个打包的问题折腾了我很长时间,在rollup处理js文件之间的引用关系时,对路径的大小写是敏感的,例如"../FrameBuffer.js"与"../Framebuffer.js"是不同的,需要特别注意。 大概说一下npm命令的执行过程,npm是基于nodejs的一个批处理文件npm.bat,其内部类似"%dp0%\node.exe" npm.js 是通过将js脚本传递给node.exe执行的,我们通常执行的命令"node.exe npm.js run...原创 2021-10-15 17:36:13 · 1522 阅读 · 0 评论 -
Cesium 源码分析 Cesium3DTilesetCache
Cesium中的3DTiles数据加载的过程中会进行缓存,使用的是Cesium3DTilesetCache这个类,这个类中维护了一个双向链表DoublyLinkedList,链表的每个节点DoublyLinkedListNode包含了3部分内容,item(即tile)、previous、next,而DoublyLinkedList维护了链表的head和tail游标,并包含三个方法remove(移除节点)、add(添加节点)、slice(移动节点)。 ...原创 2021-10-11 18:28:47 · 1312 阅读 · 0 评论 -
cesium 源码分析 geometricError几何误差
在Cesium中geometricError是用来检索3DTiles数据并请求瓦片的条件,与geometricError相关的计算公式是:var error=(geometricError*height)/(distance*sseDenominator);其中sseDenominator 为视锥的 near /height,即视锥的近裁切面的距离与视锥高的比值, distance*sseDenominat...原创 2021-09-27 19:43:18 · 1602 阅读 · 0 评论 -
Cesium 源码分析 Material
Cesium关于实例的创建都是封装在类的静态函数中,这个习惯很好,方便创建和管理,对外只提供创建的方法,正如Material中的Material.fromType()函数一样,传递参数创建材质。 Material材质的中的几个概念是了解材质的关键,例如下面这段代码var material = new Cesium.Material({ fabric: { materials: { dif...原创 2021-09-06 20:25:47 · 2642 阅读 · 1 评论 -
Cesium 源码分析 ShaderProgram
ShaderProgram类基本封装了与着色器相关的所有操作(除了向着色器中传递数据的部分,这部分单独封装在其他类库中)。ShaderProgram封装的功能包括:1、编译和链接shader--------functioncreateAndLinkProgram(gl,shader)2、获取顶点属性的位置信息-----functionfindVertexAttributes(gl,program,numberOfAttributes)3、查找unif...原创 2021-09-03 18:04:13 · 543 阅读 · 1 评论 -
Cesium AutomaticUniforms 源码分析
AutomaticUniforms是Cesium内置的用于处理webgl关于uniform如何传值的类。 类的使用如下: 1、这个类将每一个内置的uniform封装成了一个AutomaticUniform对象; 2、AutomaticUniform会保存cpu中的uniform相关的三个参数(数据类型、是否是数组、值); 3、通过AutomaticUniform.prototype.getDeclaration方法拼装g...原创 2021-09-03 13:47:41 · 542 阅读 · 0 评论 -
cesium ShaderSource源码分析
ShaderSource是组织cesium中可见对象的glsl字符串的类,了解该类之前需要知道cesium中内置了很多的自定义的glsl代码段(包括常量、变量、函数),这些代码段都是以czm_开头的。 代码拼接过程如下: 1、将顶点【或者】像素着色器的glsl代码片段进行拼接; 2、以及通过递归遍历的方式查找glsl代码段中引用的cesium内置代码段; 3、如果glsl支持webgl2.0,通过查找字符串中webgl1...原创 2021-09-03 10:00:15 · 716 阅读 · 0 评论 -
Cesium地图某级别的Tile可见性判断
Cesium中瓦片的可见性判断瓦片可见性判断是根据“地图切片时切片的精度”和“调度时瓦片与相机之间计算出来的精度”比较来判断的。1、Cesium 地图某级精度关于地图某级别的精度值是多少,在Cesium中的相关计算是 某级别精度 = 地球的短半轴周长 / ( 地图某一级别瓦片数量 * 瓦片的分辨率) ;2、相机与瓦片之间动态精度计算...原创 2021-07-28 19:48:36 · 1440 阅读 · 1 评论