refactor(srp): rename native scene draw substrate contract
This commit is contained in:
@@ -1604,21 +1604,21 @@ public:
|
||||
}
|
||||
}
|
||||
m_fullscreenPassPool.clear();
|
||||
if (m_ownedSceneRenderer != nullptr) {
|
||||
m_ownedSceneRenderer->Shutdown();
|
||||
if (m_ownedSceneDrawBackend != nullptr) {
|
||||
m_ownedSceneDrawBackend->Shutdown();
|
||||
}
|
||||
m_ownedPipelineRendererAsset.reset();
|
||||
m_supportsStageContextualMethod = nullptr;
|
||||
m_supportsStageMethod = nullptr;
|
||||
m_recordStageMethod = nullptr;
|
||||
m_resolvedPipelineHandle = 0;
|
||||
m_boundSceneRenderer = nullptr;
|
||||
m_boundSceneDrawBackend = nullptr;
|
||||
}
|
||||
|
||||
void SetPipelineRenderer(
|
||||
Rendering::RenderPipelineRenderer* pipelineRenderer) override {
|
||||
m_boundSceneRenderer =
|
||||
dynamic_cast<Rendering::NativeSceneRenderer*>(pipelineRenderer);
|
||||
m_boundSceneDrawBackend =
|
||||
dynamic_cast<Rendering::SceneDrawBackend*>(pipelineRenderer);
|
||||
}
|
||||
|
||||
bool SupportsStageRenderGraph(Rendering::CameraFrameStage stage) const override {
|
||||
@@ -1717,13 +1717,13 @@ public:
|
||||
ManagedScriptableRenderContextState managedContextState = {};
|
||||
managedContextState.stage = context.stage;
|
||||
managedContextState.graphContext = &context;
|
||||
Rendering::NativeSceneRenderer* const sceneRenderer =
|
||||
ResolveSceneRenderer(context.rendererIndex);
|
||||
if (sceneRenderer == nullptr) {
|
||||
Rendering::SceneDrawBackend* const sceneDrawBackend =
|
||||
ResolveSceneDrawBackend(context.rendererIndex);
|
||||
if (sceneDrawBackend == nullptr) {
|
||||
return false;
|
||||
}
|
||||
Rendering::Pipelines::NativeSceneRecorder sceneRecorder(
|
||||
*sceneRenderer,
|
||||
*sceneDrawBackend,
|
||||
context);
|
||||
managedContextState.sceneRecorder = &sceneRecorder;
|
||||
const uint64_t managedContextHandle =
|
||||
@@ -1904,7 +1904,7 @@ private:
|
||||
return true;
|
||||
}
|
||||
|
||||
Rendering::NativeSceneRenderer* ResolveSceneRenderer(
|
||||
Rendering::SceneDrawBackend* ResolveSceneDrawBackend(
|
||||
int32_t rendererIndex) {
|
||||
const std::shared_ptr<const Rendering::RenderPipelineAsset>
|
||||
contextualPipelineRendererAsset =
|
||||
@@ -1917,30 +1917,30 @@ private:
|
||||
m_assetRuntime != nullptr
|
||||
? m_assetRuntime->GetPipelineRendererAsset()
|
||||
: nullptr;
|
||||
if (m_boundSceneRenderer != nullptr &&
|
||||
if (m_boundSceneDrawBackend != nullptr &&
|
||||
contextualPipelineRendererAsset != nullptr &&
|
||||
contextualPipelineRendererAsset ==
|
||||
defaultPipelineRendererAsset) {
|
||||
return m_boundSceneRenderer;
|
||||
return m_boundSceneDrawBackend;
|
||||
}
|
||||
|
||||
if (contextualPipelineRendererAsset == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (m_ownedSceneRenderer == nullptr ||
|
||||
if (m_ownedSceneDrawBackend == nullptr ||
|
||||
contextualPipelineRendererAsset != m_ownedPipelineRendererAsset) {
|
||||
if (m_ownedSceneRenderer != nullptr) {
|
||||
m_ownedSceneRenderer->Shutdown();
|
||||
if (m_ownedSceneDrawBackend != nullptr) {
|
||||
m_ownedSceneDrawBackend->Shutdown();
|
||||
}
|
||||
m_ownedSceneRenderer =
|
||||
Rendering::Internal::CreateNativeSceneRendererFromAsset(
|
||||
m_ownedSceneDrawBackend =
|
||||
Rendering::Internal::CreateSceneDrawBackendFromAsset(
|
||||
contextualPipelineRendererAsset);
|
||||
m_ownedPipelineRendererAsset =
|
||||
contextualPipelineRendererAsset;
|
||||
}
|
||||
|
||||
return m_ownedSceneRenderer.get();
|
||||
return m_ownedSceneDrawBackend.get();
|
||||
}
|
||||
|
||||
std::shared_ptr<const MonoManagedRenderPipelineAssetRuntime> m_assetRuntime;
|
||||
@@ -1950,10 +1950,10 @@ private:
|
||||
mutable MonoMethod* m_recordStageMethod = nullptr;
|
||||
mutable uint32_t m_resolvedPipelineHandle = 0;
|
||||
std::vector<std::unique_ptr<Rendering::RenderPass>> m_fullscreenPassPool = {};
|
||||
Rendering::NativeSceneRenderer* m_boundSceneRenderer = nullptr;
|
||||
Rendering::SceneDrawBackend* m_boundSceneDrawBackend = nullptr;
|
||||
std::shared_ptr<const Rendering::RenderPipelineAsset>
|
||||
m_ownedPipelineRendererAsset = nullptr;
|
||||
std::unique_ptr<Rendering::NativeSceneRenderer> m_ownedSceneRenderer =
|
||||
std::unique_ptr<Rendering::SceneDrawBackend> m_ownedSceneDrawBackend =
|
||||
nullptr;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user