3Dtiles学习笔记之三

geometric error 计算

参考文章:简单粗暴计算公式

链接: 简单粗暴计算公式
链接: 原理介绍
链接: 原理介绍

内容总结

error = (geometricError * height) / (distance * sseDenominator);
瓦片的渲染时error = geometricError * 渲染窗体高度 / (瓦片中心到相机距离 * sseD)

  • sseD视锥体的垂直角度系数,一般根据屏幕宽高比计算赋值,我们可以暴力固定为0.5
    height是窗体高度,现在屏幕一般是1920 * 1080,高分是2560 * 1440,实际上chrome里不是全屏,我们可以先固定为1024,或者1000吧

  • error > _maximumScreenSpaceError 则渲染,否则进入下一层级

  • _maximumScreenSpaceError默认为16,是可传参数

  • 最终 error = (geometricError * height) / (distance * sseDenominator);

  • 当 (geometricError * height) / (distance * sseDenominator) < 16则进入下一层级

geometricError可以与distance做方程
geometricError = 16 * distance * sseDenominator / height
= 16 * distance * 0.5 / 1024
≈ distance * 8 / 1000
≈ distance * 0.008
≈ distance / 125.0
即125.0是一个geometricError与相机到瓦片中心距离的系数
即我们如果使用574.4880608119186瓦片的包围直径,则在
distance = 574 * 125 = 71,750 的距离就显示该瓦片了(7万米高空看600米还是多了)
当两千米我们想进入下一个精度,则tileset的root的geometricError设置为
geometricError = 2000 / 125.0 = 16.0
children为叶子不分裂则geometricError = 0.0,

另一种计算方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值