Files
XCEngine/docs/api/XCEngine/Rendering/RenderSurface/GetRenderAreaHeight.md

36 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RenderSurface::GetRenderAreaHeight
返回当前生效 render area 的高度。
```cpp
uint32_t GetRenderAreaHeight() const;
```
## 返回值
- 返回 `max(GetRenderArea().height, 0)` 的无符号结果。
## 当前语义
- 该值不是独立存储字段,而是每次根据 [GetRenderArea](GetRenderArea.md) 的结果即时计算。
- 如果没有启用自定义 render area则结果等于 surface 的逻辑高度。
- 如果 render area 经过 clamp 后高度变成 `0`,这里也会返回 `0`
## 调用方影响
- `CameraRenderer::Render()` 会把高度为 `0` 的 surface 视为不可渲染输入。
- `ObjectIdRenderRequest::IsValid()` 同样要求这里大于 `0`,否则 object-id 路径不会被接受。
- 上层逻辑通常把 `GetRenderAreaWidth() / GetRenderAreaHeight()` 作为“本帧真实 viewport 尺寸”,而不是 surface 构造尺寸。
## 测试覆盖
- `tests/Rendering/unit/test_camera_scene_renderer.cpp` 验证了相机提交到 pipeline 的 viewport 高度来自最终 render area。
- `tests/Rendering/unit/test_scene_render_request_utils.cpp` 验证了父 surface render area 与相机 viewport 组合后,高度会按解析结果更新。
## 相关文档
- [RenderSurface](RenderSurface.md)
- [GetRenderArea](GetRenderArea.md)
- [GetRenderAreaWidth](GetRenderAreaWidth.md)
- [SetRenderArea](SetRenderArea.md)