35 lines
1.2 KiB
Markdown
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)
|