docs: rebuild Rendering API content

This commit is contained in:
2026-03-26 21:32:43 +08:00
parent f6286d432c
commit 5c8042775c
81 changed files with 2350 additions and 27 deletions

View File

@@ -0,0 +1,42 @@
# RenderSceneExtractor::Extract
从场景中提取当前帧要渲染的数据。
```cpp
RenderSceneData Extract(
const Components::Scene& scene,
Components::CameraComponent* overrideCamera,
uint32_t viewportWidth,
uint32_t viewportHeight) const;
```
## 行为说明
当前实现会:
1. 选择一台可用相机。
2. 根据相机和视口尺寸构造 `RenderCameraData`
3. 从场景根对象开始递归遍历层级。
4. 收集符合条件的 mesh 对象,输出 `VisibleRenderObject` 数组。
## 参数
- `scene` - 要提取的场景。
- `overrideCamera` - 显式指定的相机;若可用则优先级最高。
- `viewportWidth` - 当前视口宽度。
- `viewportHeight` - 当前视口高度。
## 返回值
- 一份 `RenderSceneData`
## 当前实现说明
- 当没有可用相机时,返回的 `RenderSceneData``camera == nullptr`
- 透视相机使用 `Matrix4x4::Perspective`,正交相机使用 `Matrix4x4::Orthographic`
- 当前把 `view``projection``viewProjection` 都以转置形式写入结果。
## 相关文档
- [返回类型总览](RenderSceneExtractor.md)
- [SceneRenderer::Render](../SceneRenderer/Render.md)