feat(rendering): expose builtin forward scene steps to srp context

This commit is contained in:
2026-04-17 22:26:51 +08:00
parent 69319b4a7b
commit 6f6c8877fa
14 changed files with 551 additions and 170 deletions

View File

@@ -17,6 +17,7 @@
#include <XCEngine/Physics/PhysicsWorld.h>
#include <XCEngine/Input/InputTypes.h>
#include <XCEngine/Rendering/Graph/RenderGraph.h>
#include <XCEngine/Rendering/Graph/RenderGraphCompiler.h>
#include <XCEngine/Rendering/Pipelines/ManagedScriptableRenderPipelineAsset.h>
#include <XCEngine/Rendering/RenderSurface.h>
#include <XCEngine/Scene/Scene.h>
@@ -410,7 +411,25 @@ TEST_F(
};
EXPECT_TRUE(recorder->RecordStageRenderGraph(graphContext));
EXPECT_GT(graph.GetPassCount(), 0u);
XCEngine::Rendering::CompiledRenderGraph compiledGraph = {};
XCEngine::Containers::String errorMessage;
ASSERT_TRUE(
XCEngine::Rendering::RenderGraphCompiler::Compile(
graph,
compiledGraph,
&errorMessage))
<< errorMessage.CStr();
ASSERT_EQ(compiledGraph.GetPassCount(), 3u);
EXPECT_STREQ(
compiledGraph.GetPassName(0).CStr(),
"ManagedMainScene.Opaque");
EXPECT_STREQ(
compiledGraph.GetPassName(1).CStr(),
"ManagedMainScene.Skybox");
EXPECT_STREQ(
compiledGraph.GetPassName(2).CStr(),
"ManagedMainScene.Transparent");
recorder->Shutdown();
}