渲染器的边界框和良好数据

使用允许递归延迟加载的渲染器时, Katana其作用是展开场景图,直到到达定义了边界框的位置,然后声明一个新的过程回调,如果渲染器要求在该框内输入数据,则将对其进行评估。

为了利用延迟加载,应该用资产声明这些边界框,并且应该对嵌套边界框进行结构化,以便仅需要评估所需的边界框。例如,如果您有一个城市景观,渲染器只能看到大多数建筑物的顶部,那么对于每个建筑物的整个区域只有一个边界框是没有效率的。这是因为只要看到建筑物的顶部,就会向渲染器声明比需要的几何图形更多的几何图形。

有一个可选属性,称为forceExpand可以将其放置在任何位置以强制层次结构在该位置下扩展,而不是在到达边界框时停止。当您知道如果需要边框的全部内容时,这很有用。在某些情况下,简单地向渲染器声明整个场景图比使用延期评估更为有效,例如,如果您要为一个已知的场景计算全局照明,而该场景可以容纳到内存中。特别是,如果某些渲染器预先拥有所有几何数据,而不是使用延迟加载,则可以更好地优化其空间加速度结构。