Align builtin and programmable render pipeline selection

This commit is contained in:
2026-04-26 15:20:30 +08:00
parent 8d56bb408a
commit f4afaf184e
15 changed files with 125 additions and 379 deletions

View File

@@ -26,17 +26,6 @@ public:
}
};
class DefaultNativePipelineBackendAsset final : public RenderPipelineAsset {
public:
std::unique_ptr<RenderPipeline> CreatePipeline() const override {
return Pipelines::Internal::CreateConfiguredBuiltinForwardPipeline();
}
FinalColorSettings GetDefaultFinalColorSettings() const override {
return {};
}
};
std::shared_ptr<const RenderPipelineAsset>
CreateDefaultNativeSceneDrawBackendAsset() {
static const std::shared_ptr<const RenderPipelineAsset>
@@ -49,7 +38,7 @@ std::shared_ptr<const RenderPipelineAsset>
CreateDefaultNativePipelineBackendAsset() {
static const std::shared_ptr<const RenderPipelineAsset>
s_defaultNativePipelineBackendAsset =
std::make_shared<DefaultNativePipelineBackendAsset>();
std::make_shared<Pipelines::BuiltinForwardPipelineAsset>();
return s_defaultNativePipelineBackendAsset;
}
@@ -87,7 +76,7 @@ std::shared_ptr<const RenderPipelineAsset> CreateConfiguredRenderPipelineAsset()
}
std::shared_ptr<const RenderPipelineAsset> CreateFallbackRenderPipelineAsset() {
return std::make_shared<Pipelines::ScriptableRenderPipelineHostAsset>();
return CreateDefaultPipelineBackendAsset();
}
std::shared_ptr<const RenderPipelineAsset> CreateDefaultSceneDrawBackendAsset() {
@@ -114,7 +103,7 @@ std::shared_ptr<const RenderPipelineAsset> ResolveRenderPipelineAssetOrDefault(
return configuredAsset;
}
return CreateFallbackRenderPipelineAsset();
return CreateDefaultPipelineBackendAsset();
}
std::unique_ptr<RenderPipeline> CreateRenderPipelineOrDefault(
@@ -167,7 +156,7 @@ std::unique_ptr<RenderPipeline> CreateRenderPipelineOrDefault(
? defaultAsset
: resolvedAsset);
}
return std::make_unique<Pipelines::ScriptableRenderPipelineHost>();
return Pipelines::Internal::CreateConfiguredBuiltinForwardPipeline();
}
std::unique_ptr<RenderPipelineBackend> CreatePipelineBackendFromAsset(