#include #include using namespace XCEngine::Rendering; TEST(CameraFrameRenderGraphFrameData_Test, StoresFrameDataAndResourcesInBlackboard) { RenderGraphBlackboard blackboard = {}; CameraFrameRenderGraphFrameData& frameData = EmplaceCameraFrameRenderGraphFrameData(blackboard); frameData.resources.mainScene.color = RenderGraphTextureHandle{ 7u }; frameData.resources.postProcess.depth = RenderGraphTextureHandle{ 9u }; CameraFrameRenderGraphFrameData* const storedFrameData = TryGetCameraFrameRenderGraphFrameData(&blackboard); ASSERT_NE(storedFrameData, nullptr); EXPECT_EQ(storedFrameData, &frameData); CameraFrameRenderGraphResources* const frameResources = TryGetCameraFrameRenderGraphResources(&blackboard); ASSERT_NE(frameResources, nullptr); EXPECT_EQ(frameResources, &frameData.resources); EXPECT_EQ(frameResources->mainScene.color.index, 7u); EXPECT_EQ(frameResources->postProcess.depth.index, 9u); } TEST(CameraFrameRenderGraphFrameData_Test, ResolvesColorSourceFromBlackboardFrameData) { RenderGraphBlackboard blackboard = {}; CameraFrameRenderGraphFrameData& frameData = EmplaceCameraFrameRenderGraphFrameData(blackboard); frameData.resources.mainScene.color = RenderGraphTextureHandle{ 17u }; frameData.resources.postProcess.color = RenderGraphTextureHandle{ 19u }; EXPECT_EQ( ResolveCameraFrameRenderGraphColorSource( &blackboard, CameraFrameColorSource::MainSceneColor) .index, 17u); EXPECT_EQ( ResolveCameraFrameRenderGraphColorSource( &blackboard, CameraFrameColorSource::PostProcessColor) .index, 19u); }