refactor(rendering): route managed scene recording through native scene renderer factory
This commit is contained in:
@@ -11,8 +11,8 @@
|
||||
#include "Input/InputManager.h"
|
||||
#include "Physics/PhysicsWorld.h"
|
||||
#include "Rendering/Execution/CameraFramePlan.h"
|
||||
#include "Rendering/Internal/RenderPipelineFactory.h"
|
||||
#include "Rendering/Passes/BuiltinColorScalePostProcessPass.h"
|
||||
#include "Rendering/Pipelines/BuiltinForwardPipeline.h"
|
||||
#include "Rendering/Pipelines/BuiltinForwardSceneRecorder.h"
|
||||
#include "Rendering/Pipelines/ManagedScriptableRenderPipelineAsset.h"
|
||||
#include "Rendering/RenderPipelineStageGraphContract.h"
|
||||
@@ -414,7 +414,9 @@ public:
|
||||
}
|
||||
}
|
||||
m_builtinColorScalePassPool.clear();
|
||||
m_builtinForwardPipeline.Shutdown();
|
||||
if (m_builtinSceneRenderer != nullptr) {
|
||||
m_builtinSceneRenderer->Shutdown();
|
||||
}
|
||||
ReleaseManagedObjects();
|
||||
m_supportsStageMethod = nullptr;
|
||||
m_recordStageMethod = nullptr;
|
||||
@@ -465,8 +467,15 @@ public:
|
||||
ManagedScriptableRenderContextState managedContextState = {};
|
||||
managedContextState.stage = context.stage;
|
||||
managedContextState.graphContext = &context;
|
||||
if (m_builtinSceneRenderer == nullptr) {
|
||||
m_builtinSceneRenderer =
|
||||
Rendering::Internal::CreateDefaultNativeSceneRenderer();
|
||||
}
|
||||
if (m_builtinSceneRenderer == nullptr) {
|
||||
return false;
|
||||
}
|
||||
Rendering::Pipelines::BuiltinForwardSceneRecorder builtinForwardSceneRecorder(
|
||||
m_builtinForwardPipeline,
|
||||
*m_builtinSceneRenderer,
|
||||
context);
|
||||
managedContextState.builtinForwardSceneRecorder =
|
||||
&builtinForwardSceneRecorder;
|
||||
@@ -600,7 +609,7 @@ private:
|
||||
mutable bool m_pipelineCreationAttempted = false;
|
||||
std::vector<std::unique_ptr<Rendering::Passes::BuiltinColorScalePostProcessPass>>
|
||||
m_builtinColorScalePassPool = {};
|
||||
Rendering::Pipelines::BuiltinForwardPipeline m_builtinForwardPipeline;
|
||||
std::unique_ptr<Rendering::NativeSceneRenderer> m_builtinSceneRenderer = nullptr;
|
||||
};
|
||||
|
||||
std::unique_ptr<Rendering::RenderPipelineStageRecorder>
|
||||
|
||||
Reference in New Issue
Block a user