cesium 源码分析 geometricError几何误差

        在Cesium中geometricError是用来检索3DTiles数据并请求瓦片的条件,与geometricError相关的计算公式是:
         var error = (geometricError * height) / (distance * sseDenominator);
        其中sseDenominator 为视锥的 near /  height,即视锥的近裁切面的距离与视锥高的比值,               distance*sseDenominator 为相机距离瓦片distance时的一个视锥的切面,如果                         (distance * sseDenominator )/ height即为一个像素所代表的米数,即分辨率或者地图精度。


    对于var error = (geometricError * height) / (distance * sseDenominator);我们要从它的目的出发去考虑,parent._screenSpaceErrorProgressiveResolution > maximumScreenSpaceError;与tile._screenSpaceErrorProgressiveResolution <= maximumScreenSpaceError;其中_screenSpaceErrorProgressiveResolution和error的意思差不多,只要parent的error大于maximumScreenSpaceError,并且当前tile的error小于或者等于maximumScreenSpaceError就是我们需要加载的瓦片,这个error的计算主要与geometricError 和 distance相关,因为其他值都是定值。

        简写为   var error = geometricError / distance;  当maximumScreenSpaceError确定后距离越远geometricError必须越大才能满足 父级节点大于maximumScreenSpaceError并且当前瓦片刚好是比maximumScreenSpaceError小一点的geometricError,所以几何误差名称的由来也许就是与maximumScreenSpaceError误差最小的意思。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium 是一个基于 WebGL 的开地球渲染引擎,主要用于在浏览器中呈现三维地理数据。它使用了一些复杂的渲染技术和算法来实现高性能和高质量的地球渲染效果。下面是对 Cesium 渲染码的简要分析: 1. Shader:Cesium 使用了大量的着色器程序来实现不同的渲染效果,如光照、纹理映射、阴影等。着色器程序是在 GPU 上执行的,并且可以通过 GLSL(OpenGL Shading Language)语言进行编写。Cesium 的着色器程序通常是在运行时动态生成的,以适应不同的地图数据和渲染需求。 2. 地形渲染:Cesium 支持高度精细的地形渲染,它使用了基于切片的地形渲染技术。在渲染过程中,Cesium 会将地球表面分割成小块切片,并根据每个切片的高度数据和纹理信息生成相应的网格和纹理。这些切片可以根据需要进行加载和卸载,以实现地图数据的动态加载和显示。 3. 纹理映射:Cesium 使用了纹理映射技术来实现地球表面的贴图效果。它可以将不同类型的纹理(如卫星图像、地形纹理、气候数据等)映射到地球表面的不同部分,以实现真实的地貌效果。Cesium 通过加载和解析各种类型的地图数据,将其转换为纹理信息,并将其应用到地球表面的相应区域。 4. 光照和阴影:Cesium 支持实时的光照和阴影效果,以增强地球渲染的真实感。它使用了基于物理的光照模型,考虑了光的位置、光照强度、表面材质等因素,并通过计算每个顶点和像素的光照值来实现逼真的光照效果。此外,Cesium 还支持动态阴影的生成,可以根据光的位置和地形的形状计算出地球表面上的阴影效果。 5. 动态渲染:Cesium 支持动态渲染技术,可以在实时交互的情况下实现高性能的地球渲染效果。它使用了一些优化技术,如级联阴影映射、视锥剔除、LOD(Level of Detail)等,以减少渲染负载并提高渲染效率。此外,Cesium 还支持动态加载和卸载地图数据,以实现在不同的视角和缩放级别下的快速渲染和响应。 需要注意的是,Cesium码非常庞大和复杂,涉及到多个模块和子系统。以上只是对其渲染部分的简要分析,实际的分析需要深入研究 Cesium 的代码库和文档,并对 WebGL 和图形渲染技术有一定的了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值