渲染管线测试:Pass 顺序、目标纹理与特性关闭都要测

渲染管线测试:Pass 顺序、目标纹理与特性关闭都要测

渲染模块单测之外,还要验证组合后的 pass 顺序、资源生命周期和关闭特性后的清理。先画出资源从导入到帧输出的路径,测试才知道该在哪一层观察。

测试对象从接口延伸到帧图

测试接口使用稳定的相机、光照与资源描述,临时目标由待测 pass 在同一帧图生命周期内申请和释放。颜色空间、深度格式、MSAA 与目标尺寸都进入夹具,避免测试环境靠默认值偶然通过。

渲染测试需要观察具体资源和 pass,而不是只看最终画面。资源由哪个 pass 创建、在哪个阶段读写、特性关闭后何时释放,都应能从帧图或调试记录中核对。

三层测试各看一件事

  1. 描述对象测试检查颜色、深度、尺寸和 MSAA 组合是否得到预期资源定义。
  2. 帧图测试核对生产者、消费者与 pass 顺序,禁止读取未创建或已经释放的目标。
  3. 场景回归覆盖透明物体、多相机和动态分辨率,并单独验证特性关闭后的清理。

截图差异出现时,先回到资源描述和 pass 记录,再判断是场景预期还是实现变化。测试不依赖固定的临时句柄,只比较可解释的资源属性与输出。

验证清单

固定场景后分别启用透明渲染、后处理、动态分辨率与多相机叠加,保存对应的帧图和输出。每次只切一个特性,核对目标尺寸、读写关系与清理动作。

  • 回归夹具记录渲染管线、shader、场景和图形配置版本。
  • 关闭每项特性后检查目标纹理、关键字与 RenderPass 都回到基线。
  • 新增格式或相机组合时补到最小夹具,再决定是否加入完整场景回归。

回归标准

固定场景和构建配置,保存帧调试记录与截图。功能关闭后没有残留目标纹理或关键字,才算完整回归。