Files
XCEngine/docs/api/XCEngine/Rendering/SceneRenderer/Render.md

39 lines
993 B
Markdown

# SceneRenderer::Render
渲染一个场景。
```cpp
bool Render(
const Components::Scene& scene,
Components::CameraComponent* overrideCamera,
const RenderContext& context,
const RenderSurface& surface);
```
## 行为说明
当前实现会:
1. 检查 `context.IsValid()` 且当前 pipeline 非空。
2. 调用 `RenderSceneExtractor::Extract()` 生成 `RenderSceneData`
3. 如果没有可用相机,直接返回 `false`
4. 调用当前 pipeline 的 `Render()` 执行真正绘制。
## 参数
- `scene` - 要渲染的场景。
- `overrideCamera` - 可选的覆盖相机。
- `context` - 当前渲染上下文。
- `surface` - 当前目标表面。
## 返回值
- 渲染成功返回 `true`
- 若上下文无效、没有 pipeline 或没有可用相机,则返回 `false`
## 相关文档
- [返回类型总览](SceneRenderer.md)
- [RenderSceneExtractor::Extract](../RenderSceneExtractor/Extract.md)
- [RenderPipeline::Render](../RenderPipeline/Render.md)