1.3 KiB
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 会保留传入宽度。