摘要:1. Cesium 1.1. 技术回顾 地平线剔除技术:https://www.cnblogs.com/onsummer/p/14299233.html Cesium 中的图形技术:渲染一帧:https://www.cnblogs.com/onsummer/p/14022399.html Cesiu 阅读全文
posted @ 2020-11-22 23:40 秋意正寒 阅读(207) 评论(0) 推荐(0) 编辑
摘要:Horizon Culling | cesium.com 在开发 Cesium 程序时,需要快速确定场景中的对象什么时候不可见,从而判断它不需要渲染。 一种方法是使用视锥体平视剔除,但是还有另一种重要的剔除方法是地平线剔除。 上图中,绿色点是 viewer 内可见的。红色点是不可见的,因为它们在视锥 阅读全文
posted @ 2021-01-19 17:56 秋意正寒 阅读(97) 评论(0) 推荐(0) 编辑
摘要:参考自 DC-SDK 中关于 shp白模生成 3dTiles 自定义着色器。 效果: 效果有关的着色器,必然要改动 片元着色器。 片元着色器 varying vec3 v_positionEC; // 相机坐标系的模型坐标 void main() { /** 渐变效果 */ vec4 positio 阅读全文
posted @ 2020-12-30 16:42 秋意正寒 阅读(259) 评论(0) 推荐(0) 编辑
摘要:1. 由世界坐标转模型坐标 顶点着色器: attribute vec3 position3DHigh; attribute vec3 position3DLow; attribute vec3 normal; attribute vec2 st; attribute float batchId; v 阅读全文
posted @ 2020-12-30 16:11 秋意正寒 阅读(230) 评论(0) 推荐(0) 编辑
摘要:对于一个 MaterialAppearance 对象来说,它的顶点着色器代码默认为: attribute vec3 position3DHigh; attribute vec3 position3DLow; attribute vec3 normal; attribute vec2 st; attr 阅读全文
posted @ 2020-12-16 01:41 秋意正寒 阅读(223) 评论(1) 推荐(1) 编辑
摘要:fabric 材质定义:着色器实践 1. 示例代码 贴到沙盒里就可以运行: var viewer = new Cesium.Viewer("cesiumContainer"); viewer.scene.globe.depthTestAgainstTerrain = true; viewer.cam 阅读全文
posted @ 2020-12-15 16:46 秋意正寒 阅读(440) 评论(0) 推荐(2) 编辑
摘要:速览新特性 v2 版本添加的主要是支持地形、自定义天空、相机API,以及性能方面的提升。 例子:添加3D地形:v1.x 中的各种图层可以和地形一起使用,新的 Mapbox 栅格数据API服务提供了地形服务。 例子:天空图层:在倾角(pitch)较大时,Mapbox v2 添加了一个天空图层,这个图层 阅读全文
posted @ 2020-12-09 10:20 秋意正寒 阅读(613) 评论(0) 推荐(1) 编辑
摘要:pre. 先看成果 就视角倾斜情况还是很贴合的,观察中心点可能略不一样(代码没设置成一样的观察点位,只是大致接近,但是两个角度是严格计算转换的) 1. 理论 角度名 解释 cesium mapbox heading/bearing 头左右看 正北↑为0,顺时针为正角,值域[0, 360] 正北↑为0 阅读全文
posted @ 2020-12-08 19:12 秋意正寒 阅读(258) 评论(0) 推荐(0) 编辑
摘要:开门见山:tileset.modelMatrix 这个属性可以在数据本身的基础上再进行坐标变换,不熟悉转换矩阵各个部分的含义的可参考图形学有关资料。 此文不一定是最佳算法,但是提供一种思路。转载请注明出处 全网@秋意正寒 。 平移思路 获取当前瓦片数据集的包裹范围(boundingSphere)中心 阅读全文
posted @ 2020-11-30 01:55 秋意正寒 阅读(761) 评论(2) 推荐(1) 编辑
摘要:1. 简介 Fabric 是 Cesium 中用于描述材质的一种 JSON 规定。 材质表现了多边形、折线、椭圆等形状的外观。 使用 Fabric 和 GLSL,可以完全自定义材质。 通过几何对象的 material 属性可以创建材质,这个属性是 Cesium.Material 对象。 可以这么用: 阅读全文
posted @ 2020-11-30 01:43 秋意正寒 阅读(230) 评论(0) 推荐(0) 编辑
摘要:导语 Cesium 的渲染引擎是基于高精度渲染设计的。不过,就算是以米作为单位的常规游戏引擎,也会遇到精度问题,例如 z值冲突 和 抖动。 z值冲突是指两个三角形接近时,有重叠的像素,但是深度缓存的精度不足以确定哪一个三角形更接近相机,当视图发生变化时,这些重叠像素会闪烁。 之所以会发生 z值冲突, 阅读全文
posted @ 2020-11-30 01:35 秋意正寒 阅读(258) 评论(0) 推荐(0) 编辑