refactor(srp): rename native scene draw substrate contract

This commit is contained in:
2026-04-21 19:06:38 +08:00
parent 01b5e0abcd
commit 8a8b72e273
15 changed files with 258 additions and 142 deletions

View File

@@ -10,38 +10,6 @@ namespace XCEngine {
namespace Rendering {
namespace Pipelines {
namespace Internal {
namespace {
constexpr ForwardSceneStep MakeForwardSceneInjectionStep(SceneRenderInjectionPoint injectionPoint) {
ForwardSceneStep step = {};
step.type = ForwardSceneStepType::InjectionPoint;
step.injectionPoint = injectionPoint;
return step;
}
constexpr ForwardSceneStep MakeForwardSceneBuiltinPhaseStep(ScenePhase scenePhase) {
ForwardSceneStep step = {};
step.type = ForwardSceneStepType::BuiltinPhase;
step.scenePhase = scenePhase;
return step;
}
} // namespace
const std::array<ForwardSceneStep, 9>& GetBuiltinForwardSceneSteps() {
static constexpr std::array<ForwardSceneStep, 9> kForwardSceneSteps = {
MakeForwardSceneInjectionStep(SceneRenderInjectionPoint::BeforeOpaque),
MakeForwardSceneBuiltinPhaseStep(ScenePhase::Opaque),
MakeForwardSceneInjectionStep(SceneRenderInjectionPoint::AfterOpaque),
MakeForwardSceneInjectionStep(SceneRenderInjectionPoint::BeforeSkybox),
MakeForwardSceneBuiltinPhaseStep(ScenePhase::Skybox),
MakeForwardSceneInjectionStep(SceneRenderInjectionPoint::AfterSkybox),
MakeForwardSceneInjectionStep(SceneRenderInjectionPoint::BeforeTransparent),
MakeForwardSceneBuiltinPhaseStep(ScenePhase::Transparent),
MakeForwardSceneInjectionStep(SceneRenderInjectionPoint::AfterTransparent)
};
return kForwardSceneSteps;
}
void RegisterBuiltinForwardSceneFeatures(SceneRenderFeatureHost& featureHost) {
featureHost.AddFeaturePass(std::make_unique<Features::BuiltinGaussianSplatPass>());