Files
XCEngine/editor/src/Viewport/SceneViewportRenderPassBundle.h

32 lines
915 B
C++

#pragma once
#include "Passes/SceneViewportEditorOverlayPass.h"
#include "Passes/SceneViewportGridPass.h"
#include "Passes/SceneViewportSelectionOutlinePass.h"
#include "SceneViewportRenderPlan.h"
namespace XCEngine {
namespace Editor {
class SceneViewportRenderPassBundle {
public:
~SceneViewportRenderPassBundle() = default;
void Shutdown();
SceneViewportRenderPlanBuildResult BuildRenderPlan(
ViewportRenderTargets& targets,
const SceneViewportOverlayData& overlay,
const std::vector<uint64_t>& selectedObjectIds,
const SceneViewportOverlayFrameData& editorOverlayFrameData,
bool debugSelectionMask = false);
private:
SceneViewportGridPassRenderer m_gridRenderer;
SceneViewportSelectionOutlinePassRenderer m_selectionOutlineRenderer;
SceneViewportEditorOverlayPassRenderer m_overlayRenderer;
};
} // namespace Editor
} // namespace XCEngine