1.4 KiB
1.4 KiB
RenderSceneExtractor::Extract
RenderSceneData Extract(
const Components::Scene& scene,
Components::CameraComponent* overrideCamera,
uint32_t viewportWidth,
uint32_t viewportHeight) const;
行为说明
当前实现会:
- 调用 SelectCamera 解析实际使用的相机。
- 如果没有可用相机,直接返回空的
RenderSceneData。 - 基于选中的相机和 viewport 尺寸生成
RenderCameraData。 - 从场景所有 root game object 开始递归收集
visibleItems。 - 对
visibleItems做稳定排序。 - 提取主方向光到
lighting。
参数
scene- 要提取的场景。overrideCamera- 可选的 override 相机;可用时具有最高优先级。viewportWidth- 当前 viewport 宽度。viewportHeight- 当前 viewport 高度。
返回值
- 一份
RenderSceneData。 - 若没有可用相机,返回值中的
camera为空,visibleItems也为空。
当前实现细节
- 当前会使用选中相机的
GetCullingMask()过滤对象层。 visibleItems是当前真正的输出字段,不是旧文档里的visibleObjects。- 排序时会按
renderQueue和透明/非透明距离方向处理。