Files
XCEngine/new_editor/app/Rendering/Viewport/ViewportContentRenderer.h

33 lines
811 B
C++

#pragma once
#include "Rendering/Viewport/ViewportRenderTargets.h"
#include <XCEngine/RHI/RHIDevice.h>
#include <XCEngine/Rendering/RenderContext.h>
#include <string>
namespace XCEngine::UI::Editor::App {
struct ViewportRenderResult {
bool rendered = false;
bool requiresFallbackClear = false;
std::string statusText = {};
float fallbackClearR = 0.0f;
float fallbackClearG = 0.0f;
float fallbackClearB = 0.0f;
float fallbackClearA = 1.0f;
};
class IViewportContentRenderer {
public:
virtual ~IViewportContentRenderer() = default;
virtual ViewportRenderResult Render(
ViewportRenderTargets& targets,
::XCEngine::RHI::RHIDevice& device,
const ::XCEngine::Rendering::RenderContext& renderContext) = 0;
};
} // namespace XCEngine::UI::Editor::App