CesiumJS有两种卷帘,一种是ImageryLayer的对比,一种是3DTiles或Model的对比。 官方示例均能找到,目前仅支持左右对比。 1.核心原理 1.1.影像图层对比原理 通过控制不同ImageryLayer所处的地球瓦片(QuadtreeTile、GlobeSurfaceTile)的透明度实现。 可以在GlobeFS.glsl着色器代码中找到这么一段: ifdefAPPLY_SPLIT floatsplitPosition=czm_splitPosition; //Splittotheleft if(split<0.0&&gl_FragCoord.x&...

  52ApuTTpsb8k   2023年11月02日   42   0   0 着色器WebGLsplit对比CesiumJS

目录 前置知识JavaScript的各种模块化情况 前置知识2让你写的d.ts在工程中生效 1.全局模块的定义 2.ES模块的定义 2.1.默认导出 2.2.导出类 2.3.注意事项 3.CommonJS模块定义 3.1.挨个导出 3.2.默认导出 4.声明类型(TypeScript中的interface或type)和其它 4.1.type和interface 4.2.全局变量(非namespace) 4.3.补充功能 这篇仅为自己工作中在js和ts交叉斗智斗勇的实践中留下的经验,不一定完全、合理,仅供参考,有错漏难免,有则评论区指出。 前置知识JavaScr...

  52ApuTTpsb8k   2023年11月01日   64   0   0 JavaScript

目录 0.基础 0.1.坐标系基础 0.2.合并批次 1.参数化几何 1.1.几何类清单 1.2.举例 1.3.纯手搓几何 1.4.子线程异步生成几何 2.使用材质 2.1.外观API 2.2.材质API 2.3.Fabric材质初步内置材质、材质缓存与uniform 2.4.Fabric材质中级(GLSL表达式、嵌套材质) 中段小结 PrimitiveAPI还包括AppearanceAPI、GeometryAPI两个主要部分,是CesiumJS挡在原生WebGL接口之前的最底层图形封装接口(公开的),不公开的最底层接口是DrawCommand为主的Rendere...

  52ApuTTpsb8k   2023年11月01日   190   0   0 计算机图形学

目录 3.使用GLSL着色器 3.1.为Fabric材质添加自定义着色代码Fabric材质的本质 3.2.社区实现案例泛光墙体和流动线材质 3.3.直接定义外观对象的两个着色器 3.4.源码中如何合并着色器 4.底层知识 4.1.渲染状态对象 4.2.似Primitive对象与创建似Primitive对象 4.3.Primitive在Scene中的大致图示 文末小结 书接上文https://www.cnblogs.com/onsummer/p/cesium-primitive-api-tutorial.html 3.使用GLSL着色器 明确一个定义,在Primitiv...

  52ApuTTpsb8k   2023年11月01日   93   0   0 计算机图形学

目录 1.有什么光 2.光如何转换成Uniform以及何时被调用 2.1.统一值状态对象(UniformState) 2.2.上下文(Context)执行DrawCommand 2.3.对WebGLUniform值的封装 2.4.自动统一值(AutomaticUniforms) 3.在着色器中如何使用 3.1.点云 3.2.冯氏着色法 3.3.地球 3.4.模型架构中的光着色阶段 3.5.后记 之前对实时渲染(RealTimeRendering)的殿堂就十分向往,也有简单了解过实时渲染中的光,无奈一直没能系统学习。鉴于笔者已经有一点CesiumJS源码基础,所以就抽了...

  52ApuTTpsb8k   2023年11月01日   139   0   0 计算机图形学

目录 1.时间的“诞生” 2.时间的推进 3.EntityAPI与PropertyAPI的更新动力源 4.简单应用 4.1.使用原生JSDate对象创建JulianDate 4.2.使用时间字符串(ISO8601标准的时间字符串或UTC时间字符串)创建JulianDate 4.3.为时钟设置起止时间和速率 4.4.调整时钟的循环情况 你知道吗? Cesium是元素铯的英文单词,而铯原子钟具有世界上最高的计时精度 时间,是时刻间隔的意思,时刻是静态的点;而时间就指有起止时刻的一段范围 很多应用都要有一个时钟,例如GPS授时、实时渲染系统,时间可以测量很多事物,万物运动也体...

  52ApuTTpsb8k   2023年11月01日   111   0   0 计算机图形学

目录 前置说明 1.与数据格式转换解析相关 1.1.解析和转换WKT几何数据 1.2.前端直接读取GeoPackage@ngageoint/geopackage 1.3.前端直接读取EsriShapefilets-shapefile 1.4.把GDAL搬进浏览器gdal3.js 1.5.格式库小结 2.操作空间坐标系 2.1.重投影proj4 2.2.纠“火星”、“百度”加密坐标 2.3.空间坐标系的WKT定义spatialreference 2.4.空间坐标系的PROJ定义epsg 2.5.从坐标系定义字符串推导WKIDget-epsg-code 2.6.对GeoJSON的重...

  52ApuTTpsb8k   2023年11月01日   212   0   0 GIS技术

目录 既有WMTS的现状 兵来将挡水来土掩问题解决 url参数 tileMatrixSetID和layer参数 tileMatrixLabels参数 rectangle参数 tilingScheme参数 小结 记一次CesiumJS中WMTS数据的加载 CesiumJS能用的WMTS目前只支持两种切片方案(TilingScheme): 0级瓦片有2个的GeographicTilingScheme 0级瓦片只有1个的WebMercatorTilingScheme 光说很抽象,上图: 0级瓦片有2个的投影,是直接以经纬度数值展平成平面,众所周知: \[纬度跨度:...

  52ApuTTpsb8k   2023年11月01日   115   0   0 GIS技术

目录 1.WMTS中的TileMatrix是什么 2.ScaleDenominator是什么 2.1.一个像素的显示器物理尺寸是多大 2.2.瓦片图片的一个像素是多大 2.3.为什么是0.28毫米 其实有时间琢磨规范文档的话,倒也不必费时间自己琢磨,这篇算是一些口水话心得。 规范文档指路:OGCStandardTwoDemensionalTileMatrixSet6.TileMatrixSet,对,并不是WMTS规范,而是更精确的2D瓦片阵列集规范,它独立于WMTS规范而发布。 1.WMTS中的TileMatrix是什么 在我之前的文章《OGCWebGIS常用服务标准速查...

  52ApuTTpsb8k   2023年11月01日   104   0   0 GIS技术

目录 1.本篇适用范围与目的 1.1.适用范围 1.2.目的 2.牛刀小试先看到地球 2.1.创建Vue3TypeScript工程并安装cesium 2.2.清理不必要的文件并创建三维地球 2.3.中段解疑奇怪的路径 2.4.打包部署 2.5.有限的优化 3.CesiumJS前置知识 3.1.CesiumJS依赖包中的资料说明 3.2.构建后的CesiumJS库组成主库文件与四大文件夹 3.3.链接库文件和四大文件夹的CESIUM_BASE_URL变量 4.现代前端工具的基本常识 4.1.选择Vite的理由 4.2.为什么外部化引入(External)一个库 4.3.T...

  52ApuTTpsb8k   2023年11月01日   116   0   0 GIS技术
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~