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

35 lines
1.2 KiB
Markdown

# RenderSurface::GetHeight
返回 `RenderSurface` 当前记录的逻辑高度。
```cpp
uint32_t GetHeight() const;
```
## 返回值
- 返回内部缓存的 `m_height`
## 当前语义
- 该值只由构造函数和 [SetSize](SetSize.md) 写入,不会从附件对象反推。
- 当没有启用自定义 render area 时,[GetRenderArea](GetRenderArea.md) 会把整个 surface 解释为 `(0, 0, width, height)`,因此这里的高度也会成为默认渲染区域高度。
- 即使后续绑定的真实纹理高度不同,`GetHeight()` 仍然只反映 `RenderSurface` 自己记录的高度。
## 调用方影响
- `CameraRenderer::Render()` 会用 render area 的高度参与有效性判断;默认 render area 又直接依赖这里的值。
- `SceneRenderer` 和 editor viewport 构建请求时,都会把这里的高度当成初始 viewport 尺寸来源。
## 测试覆盖
- `tests/Rendering/unit/test_camera_scene_renderer.cpp` 验证了默认 render area 会继承 `RenderSurface(640, 480)` 的高度。
- `tests/Editor/test_viewport_host_surface_utils.cpp` 验证了编辑器 viewport surface 会保留传入高度。
## 相关文档
- [RenderSurface](RenderSurface.md)
- [GetWidth](GetWidth.md)
- [SetSize](SetSize.md)
- [GetRenderArea](GetRenderArea.md)