地形压平
遇到新需求:地形与倾斜精度不一致,导致部分地形会压盖倾斜。虽然关闭地形深度测试能够解决,但是又会引发新的问题,所以决定对范围内的地形做压平处理。
地形压平与倾斜压平类似,目的是将指定范围内的地形顶点修改成设定的高程。
实现原理
地形压平原理和倾斜压平其实是一样的,甚至实现起来要更简单(在计算上更简单)。
两者无非都是,将压平高度和压平范围传入对应的顶点着色器。然后在着色器内对每个顶点判断一次是否在范围内(可利用范围的外接矩形加速计算),如果在则偏移顶点。
注意事项
与倾斜压平类似,在修改顶点后,新的顶点范围可能与包围盒范围不一致。而 Cesium 进行视椎体剔除计算时,使用的是包围盒的范围,所以有可能会导致相机靠近时,部分瓦片出现丢失的情况。
如下图所示,压平后,一号瓦片和二号瓦片的顶点均超过了包围盒范围,此时相机能同时看到两块瓦片。但是一号瓦片的包围盒不在视锥体范围内,所以会导致一号瓦片被剔除,导致显示问题。
实际显示效果:
解决办法是,在利用顶点着色器修改顶点的同时,还需要根据压平高度修改对应的地形瓦片包围盒。
效果展示
Cesium中实现地形压平文章来源:https://www.toymoban.com/news/detail-577418.html
原文链接
Cesium中实现地形压平 - 槑的秘密基地 (liaomz.top)文章来源地址https://www.toymoban.com/news/detail-577418.html
到了这里,关于Cesium中实现地形压平的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!