refactor: move scene view post-pass planning into renderer
This commit is contained in:
@@ -6,7 +6,6 @@
|
||||
#include "IViewportHostService.h"
|
||||
#include "SceneViewportPicker.h"
|
||||
#include "SceneViewportCameraController.h"
|
||||
#include "SceneViewportPostPassPlan.h"
|
||||
#include "UI/ImGuiBackendBridge.h"
|
||||
|
||||
#include <XCEngine/Components/CameraComponent.h>
|
||||
@@ -18,6 +17,7 @@
|
||||
#include <XCEngine/RHI/RHITexture.h>
|
||||
#include <XCEngine/Rendering/ObjectIdEncoding.h>
|
||||
#include <XCEngine/Rendering/Passes/BuiltinInfiniteGridPass.h>
|
||||
#include <XCEngine/Rendering/Passes/BuiltinSceneViewPostPassPlan.h>
|
||||
#include <XCEngine/Rendering/Passes/BuiltinObjectIdOutlinePass.h>
|
||||
#include <XCEngine/Rendering/RenderContext.h>
|
||||
#include <XCEngine/Rendering/RenderSurface.h>
|
||||
@@ -688,25 +688,25 @@ private:
|
||||
}
|
||||
|
||||
void AddSceneViewPostPassStep(
|
||||
SceneViewportPostPassStep step,
|
||||
Rendering::Passes::BuiltinSceneViewPostPassStep step,
|
||||
ViewportEntry& entry,
|
||||
const SceneViewportOverlayData& overlay,
|
||||
const std::vector<uint64_t>& selectedObjectIds,
|
||||
Rendering::RenderPassSequence& outPostPasses) {
|
||||
switch (step) {
|
||||
case SceneViewportPostPassStep::ColorToRenderTarget:
|
||||
case Rendering::Passes::BuiltinSceneViewPostPassStep::ColorToRenderTarget:
|
||||
AddSceneColorToRenderTargetPass(entry, outPostPasses);
|
||||
break;
|
||||
case SceneViewportPostPassStep::InfiniteGrid:
|
||||
case Rendering::Passes::BuiltinSceneViewPostPassStep::InfiniteGrid:
|
||||
AddSceneInfiniteGridPass(entry, overlay, outPostPasses);
|
||||
break;
|
||||
case SceneViewportPostPassStep::SelectionOutline:
|
||||
case Rendering::Passes::BuiltinSceneViewPostPassStep::SelectionOutline:
|
||||
AddSceneSelectionOutlinePass(entry, selectedObjectIds, outPostPasses);
|
||||
break;
|
||||
case SceneViewportPostPassStep::ColorToShaderResource:
|
||||
case Rendering::Passes::BuiltinSceneViewPostPassStep::ColorToShaderResource:
|
||||
AddSceneColorToShaderResourcePass(entry, outPostPasses);
|
||||
break;
|
||||
case SceneViewportPostPassStep::SelectionMaskDebug:
|
||||
case Rendering::Passes::BuiltinSceneViewPostPassStep::SelectionMaskDebug:
|
||||
AddSceneSelectionMaskDebugPass(
|
||||
entry,
|
||||
selectedObjectIds,
|
||||
@@ -731,7 +731,8 @@ private:
|
||||
SetViewportStatusIfEmpty(entry.statusText, "Scene object id shader view is unavailable");
|
||||
}
|
||||
|
||||
const SceneViewportPostPassPlan plan = BuildSceneViewportPostPassPlan({
|
||||
const Rendering::Passes::BuiltinSceneViewPostPassPlan plan =
|
||||
Rendering::Passes::BuildBuiltinSceneViewPostPassPlan({
|
||||
overlay.valid,
|
||||
hasSelection,
|
||||
kDebugSceneSelectionMask,
|
||||
@@ -741,7 +742,7 @@ private:
|
||||
return false;
|
||||
}
|
||||
|
||||
for (const SceneViewportPostPassStep step : plan.steps) {
|
||||
for (const Rendering::Passes::BuiltinSceneViewPostPassStep step : plan.steps) {
|
||||
AddSceneViewPostPassStep(
|
||||
step,
|
||||
entry,
|
||||
|
||||
Reference in New Issue
Block a user