# RenderCameraData **命名空间**: `XCEngine::Rendering` **类型**: `struct` **头文件**: `XCEngine/Rendering/RenderCameraData.h` **描述**: 保存渲染阶段实际使用的相机矩阵、清屏色和视口尺寸。 ## 概述 `RenderCameraData` 是“场景组件层的相机”向“渲染层可直接消费的数据块”之间的桥接结构。 这种拆分很有价值,因为渲染层通常不应该直接依赖完整 `CameraComponent` 行为,而是应该消费一份已经拍平的渲染数据: - 视图矩阵 - 投影矩阵 - 组合矩阵 - 相机世界位置 - 清屏色 - 视口尺寸 ## 字段 | 字段 | 类型 | 说明 | |------|------|------| | `view` | `Math::Matrix4x4` | 视图矩阵。 | | `projection` | `Math::Matrix4x4` | 投影矩阵。 | | `viewProjection` | `Math::Matrix4x4` | `projection * view` 组合矩阵。 | | `worldPosition` | `Math::Vector3` | 相机世界坐标。 | | `clearColor` | `Math::Color` | 默认清屏色。 | | `viewportWidth` | `uint32_t` | 当前视口宽度。 | | `viewportHeight` | `uint32_t` | 当前视口高度。 | ## 当前实现说明 - 这组矩阵由 [RenderSceneExtractor](../RenderSceneExtractor/RenderSceneExtractor.md) 构造。 - 当前 extractor 会在写入这里之前对 `view`、`projection` 和 `viewProjection` 做转置。 - 这说明当前渲染路径是按“尽量让 shader 直接消费统一矩阵布局”的思路设计的。 ## 相关文档 - [当前模块](../Rendering.md) - [RenderSceneExtractor](../RenderSceneExtractor/RenderSceneExtractor.md) - [VisibleRenderObject](../VisibleRenderObject/VisibleRenderObject.md)