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

1.3 KiB

RenderSurface::GetWidth

返回 RenderSurface 当前记录的逻辑宽度。

uint32_t GetWidth() const;

返回值

  • 返回内部缓存的 m_width

当前语义

  • 该值只由构造函数和 SetSize 写入,不会从颜色附件或深度附件反推。
  • 当没有启用自定义 render area 时,GetRenderArea 会把整个 surface 解释为 (0, 0, width, height),因此这里的宽度也会成为默认渲染区域宽度。
  • 即使后续绑定的实际附件尺寸与这里不一致,GetWidth() 仍然只返回 surface 自己记录的值。

调用方影响

  • CameraRenderer 会通过 render area 的宽高决定是否继续渲染;默认 render area 又直接依赖这里的宽度。
  • SceneRenderer 构建请求时,也会把 surface 的宽高传播到每个相机请求的默认 viewport 尺寸。

测试覆盖

  • tests/Rendering/unit/test_camera_scene_renderer.cpp 验证了默认 render area 会继承 RenderSurface(640, 480) 的宽高。
  • tests/Editor/test_viewport_host_surface_utils.cpp 验证了编辑器 viewport 辅助函数构建出的 surface 会保留传入宽度。

相关文档