球体瓦片的分层视锥剔除

3
我现在正在从事3D星球地形可视化工作。我的地形可视化方法非常普遍,基于细节级别渲染。有N个细节级别。其中一个级别如图所示: enter image description here 当需要搜索所需的细节级别时,执行截锥体剔除。
截锥体剔除通过平面截割与定向边界框相交来执行。
这些边界框形成边界体层次结构,因此当对球体上的蓝色瓦片进行缩放时,会检查其绿色、黄色等父瓦片是否可见。
截锥体与定向边界框的相交消耗了太多的CPU时间。
因此,我想问一下通常用什么方法来执行这种类型的剔除?
1个回答

2
你可以优化AABB检查,或使用球体。什么是过多的CPU时间?有多少个AABB检查被执行了?我想提供评论,但我没有足够的声望。

嗨,我正在使用OBB检查。在我的情况下,使用球体或AABB不是一个好主意,因为有些节点的球体与视锥体相交,但它们并不可见,即它们的边界框是不可见的。在我的情况下,这会导致额外的数据加载,这是不合格的。 - deephace
1
@deephace 可以使用球体/锥形剔除来剔除那些你知道不可见的物体。对于通过了球体/锥形剔除的物体,可以进行更精确的可见性测试,例如 OBB。 - nmr
@nmr感谢您的回复!我不记得我使用的算法的确切细节,但我想我遵循了您的想法。整个算法是一系列拒绝测试来加速计算,即球体、AABB等。 - deephace

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接