refactor(rendering): centralize camera frame stage graph policy

This commit is contained in:
2026-04-15 15:28:15 +08:00
parent 1ad3bfc702
commit 3afe44d2fa
5 changed files with 139 additions and 43 deletions

View File

@@ -45,3 +45,44 @@ TEST(CameraFrameRenderGraphFrameData_Test, ResolvesColorSourceFromBlackboardFram
.index,
19u);
}
TEST(CameraFrameRenderGraphFrameData_Test, ResolvesStageSurfaceResourcesThroughCentralSlotPolicy) {
CameraFrameRenderGraphResources frameResources = {};
EXPECT_EQ(
ResolveCameraFrameRenderGraphStageSurfaceResources(
frameResources,
CameraFrameStage::MainScene),
&frameResources.mainScene);
EXPECT_EQ(
ResolveCameraFrameRenderGraphStageSurfaceResources(
frameResources,
CameraFrameStage::PostProcess),
&frameResources.postProcess);
EXPECT_EQ(
ResolveCameraFrameRenderGraphStageSurfaceResources(
frameResources,
CameraFrameStage::ObjectId),
&frameResources.objectId);
EXPECT_EQ(
ResolveCameraFrameRenderGraphStageSurfaceResources(
frameResources,
CameraFrameStage::FinalOutput),
nullptr);
WriteCameraFrameRenderGraphStageSurfaceResources(
frameResources,
CameraFrameStage::PostProcess,
RenderGraphTextureHandle{ 23u },
RenderGraphTextureHandle{ 29u });
WriteCameraFrameRenderGraphStageSurfaceResources(
frameResources,
CameraFrameStage::FinalOutput,
RenderGraphTextureHandle{ 31u },
RenderGraphTextureHandle{ 37u });
EXPECT_EQ(frameResources.postProcess.color.index, 23u);
EXPECT_EQ(frameResources.postProcess.depth.index, 29u);
EXPECT_FALSE(frameResources.mainScene.color.IsValid());
EXPECT_FALSE(frameResources.objectId.color.IsValid());
}