# RenderSceneData **命名空间**: `XCEngine::Rendering` **类型**: `struct + related structs + enum` **头文件**: `XCEngine/Rendering/FrameData/RenderSceneData.h` **描述**: scene extraction 之后的核心帧数据块,汇总相机、环境、光照、全局 shader keywords、网格 `visibleItems` 与体对象 `visibleVolumes`。 ## 头文件中的主要类型 - `RenderDirectionalLightData` - `RenderLightType` - `RenderAdditionalLightData` - `RenderDirectionalShadowData` - `RenderLightingData` - `RenderSceneData` ## `RenderLightingData` 当前光照快照包含: - 一盏 `mainDirectionalLight` - 一份 `mainDirectionalShadow` - 最多 `8` 盏 `additionalLights` 并通过: - `HasMainDirectionalLight()` - `HasMainDirectionalShadow()` - `HasAdditionalLights()` 暴露快速判断。 ## `RenderSceneData` 核心字段包括: - `camera` - `cameraData` - `environment` - `lighting` - `globalShaderKeywords` - `visibleItems` - `visibleVolumes` `HasCamera()` 当前只检查 `camera != nullptr`。 ## 当前调用链 - [RenderSceneExtractor](../../Extraction/RenderSceneExtractor/RenderSceneExtractor.md) 生成 `RenderSceneData` - [CameraRenderer](../../Execution/CameraRenderer/CameraRenderer.md) 消费它 - builtin pipeline 和各类 pass 从它的 `visibleItems`、`visibleVolumes`、lighting 与 cameraData 继续取数 ## 相关文档 - [FrameData](../FrameData.md) - [RenderCameraData](../RenderCameraData/RenderCameraData.md) - [RenderEnvironmentData](../RenderEnvironmentData/RenderEnvironmentData.md) - [VisibleRenderItem](../VisibleRenderItem/VisibleRenderItem.md) - [VisibleVolumeItem](../VisibleVolumeItem/VisibleVolumeItem.md) - [RenderSceneExtractor](../../Extraction/RenderSceneExtractor/RenderSceneExtractor.md)