1.3 KiB
1.3 KiB
RenderSurface::GetRenderAreaHeight
返回当前生效 render area 的高度。
uint32_t GetRenderAreaHeight() const;
返回值
- 返回
max(GetRenderArea().height, 0)的无符号结果。
当前语义
- 该值不是独立存储字段,而是每次根据 GetRenderArea 的结果即时计算。
- 如果没有启用自定义 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 组合后,高度会按解析结果更新。