2026-04-19 00:03:25 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
2026-04-27 19:16:08 +08:00
|
|
|
#include "Viewport/Passes/SceneViewportGridPass.h"
|
|
|
|
|
#include "Viewport/Passes/SceneViewportSelectionOutlinePass.h"
|
|
|
|
|
#include "Viewport/Passes/SceneViewportSelectedHelpersPass.h"
|
|
|
|
|
#include "Viewport/SceneViewportRenderPlan.h"
|
2026-04-28 01:29:31 +08:00
|
|
|
#include "Viewport/SceneViewportResourcePaths.h"
|
2026-04-19 00:03:25 +08:00
|
|
|
|
|
|
|
|
namespace XCEngine::UI::Editor::App {
|
|
|
|
|
|
|
|
|
|
class SceneViewportRenderPassBundle {
|
|
|
|
|
public:
|
|
|
|
|
~SceneViewportRenderPassBundle() = default;
|
|
|
|
|
|
|
|
|
|
void Shutdown();
|
2026-04-28 01:29:31 +08:00
|
|
|
void Initialize(const SceneViewportShaderPaths& shaderPaths);
|
2026-04-19 00:03:25 +08:00
|
|
|
|
|
|
|
|
SceneViewportRenderPlanBuildResult BuildRenderPlan(
|
|
|
|
|
ViewportRenderTargets& targets,
|
|
|
|
|
const SceneViewportRenderRequest& request);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
SceneViewportGridPassRenderer m_gridRenderer = {};
|
|
|
|
|
SceneViewportSelectionOutlinePassRenderer m_selectionOutlineRenderer = {};
|
2026-04-21 00:57:14 +08:00
|
|
|
SceneViewportSelectedHelpersPassRenderer m_selectedHelpersRenderer = {};
|
2026-04-19 00:03:25 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace XCEngine::UI::Editor::App
|