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

1.3 KiB
Raw Blame History

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 组合后,高度会按解析结果更新。

相关文档