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

@@ -190,7 +190,7 @@ void EnsureBuiltinDirectionalShadowExecutionPolicyRegistryInitialized() {
(void)initialized;
}
std::unique_ptr<NativeSceneRenderer> TryCreateNativeSceneRendererFromAsset(
std::unique_ptr<SceneDrawBackend> TryCreateSceneDrawBackendFromAsset(
const std::shared_ptr<const RenderPipelineAsset>& asset) {
if (asset == nullptr) {
return nullptr;
@@ -201,14 +201,14 @@ std::unique_ptr<NativeSceneRenderer> TryCreateNativeSceneRendererFromAsset(
return nullptr;
}
NativeSceneRenderer* const sceneRenderer =
dynamic_cast<NativeSceneRenderer*>(pipeline.get());
if (sceneRenderer == nullptr) {
SceneDrawBackend* const sceneDrawBackend =
dynamic_cast<SceneDrawBackend*>(pipeline.get());
if (sceneDrawBackend == nullptr) {
return nullptr;
}
(void)pipeline.release();
return std::unique_ptr<NativeSceneRenderer>(sceneRenderer);
return std::unique_ptr<SceneDrawBackend>(sceneDrawBackend);
}
} // namespace
@@ -549,24 +549,24 @@ std::unique_ptr<RenderPipeline> CreateRenderPipelineOrDefault(
return std::make_unique<Pipelines::ScriptableRenderPipelineHost>();
}
std::unique_ptr<NativeSceneRenderer> CreateNativeSceneRendererFromAsset(
std::unique_ptr<SceneDrawBackend> CreateSceneDrawBackendFromAsset(
const std::shared_ptr<const RenderPipelineAsset>& preferredAsset,
std::shared_ptr<const RenderPipelineAsset>* outResolvedAsset) {
if (std::unique_ptr<NativeSceneRenderer> sceneRenderer =
TryCreateNativeSceneRendererFromAsset(preferredAsset)) {
if (std::unique_ptr<SceneDrawBackend> sceneDrawBackend =
TryCreateSceneDrawBackendFromAsset(preferredAsset)) {
if (outResolvedAsset != nullptr) {
*outResolvedAsset = preferredAsset;
}
return sceneRenderer;
return sceneDrawBackend;
}
if (outResolvedAsset != nullptr) {
outResolvedAsset->reset();
}
return CreateDefaultNativeSceneRenderer();
return CreateDefaultSceneDrawBackend();
}
std::unique_ptr<NativeSceneRenderer> CreateDefaultNativeSceneRenderer() {
std::unique_ptr<SceneDrawBackend> CreateDefaultSceneDrawBackend() {
return std::make_unique<Pipelines::BuiltinForwardPipeline>();
}