1. boundingVolume(世界坐标包围体)
- 类型:
object(常见是 BoundingSphere 等)
- 默认值:
undefined
- 作用:表示几何体在世界坐标系下的包围体,用于:
- 视锥裁剪(frustum culling)
- 选择要进入哪个分段视锥(frustum selection,Cesium 会把深度分成多个 frustum 来提高精度)
- 性能建议:
- 尽量提供尽可能紧(tight)的包围体,这样:
- 近远裁剪面(near/far)可以更准确
- 减少需要的 frustum 数量
- 提升整体渲染性能
- 相关调试:
debugShowBoundingVolume
2. orientedBoundingBox(世界坐标定向包围盒)
- 类型:
OrientedBoundingBox
- 默认值:
undefined
- 作用:
- 若定义了它,会在“平面相交测试(plane intersection testing)”时优先使用它,而不是
boundingVolume
- 通常用于更精确的裁剪/相交测试(相比球形包围体更贴合某些形状)
- 相关调试:
debugShowBoundingVolume
3. cull(是否允许裁剪)
- 类型:
boolean
- 默认值:
true
- 作用:
- 为
true 时,渲染器会根据 boundingVolume 对该命令进行:
- 视锥裁剪
- 地平线裁剪(horizon culling)
- 如果你在更上层逻辑已经判断该对象不可见(已经被裁剪掉),把它设为
false 可以减少重复判断,提升性能。
4. occlude(是否允许地平线遮挡裁剪)