33 lines
811 B
C++
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
|