39 lines
993 B
Markdown
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)
|