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