36 lines
No EOL
600 B
C++
36 lines
No EOL
600 B
C++
#pragma once
|
|
|
|
#include "RayTracer.hpp"
|
|
#include "RasterRender.hpp"
|
|
|
|
namespace tp {
|
|
class Editor {
|
|
public:
|
|
enum class RenderType { RASTER, PATH_TRACER };
|
|
|
|
public:
|
|
Editor();
|
|
~Editor();
|
|
|
|
void loadDefaults();
|
|
|
|
uint4 getViewportTexID();
|
|
|
|
void setViewportSize(const Vec2F& size);
|
|
void renderViewport();
|
|
|
|
void renderPathFrame();
|
|
void setRenderType(RenderType type);
|
|
|
|
private:
|
|
Scene mScene;
|
|
|
|
RenderType mRenderType = RenderType::RASTER;
|
|
|
|
RasterRender mRasterRenderer;
|
|
RayTracer mPathRenderer;
|
|
|
|
RayTracer::OutputBuffers mPathTracerBuffers;
|
|
uint4 mPathRenderTexture = 0;
|
|
};
|
|
} |