flake parts
This commit is contained in:
47
src/include/utils/Renderer/Renderer.h
Normal file
47
src/include/utils/Renderer/Renderer.h
Normal file
@@ -0,0 +1,47 @@
|
||||
#ifndef RENDERER_H
|
||||
#define RENDERER_H
|
||||
|
||||
#include "pch.hpp"
|
||||
|
||||
#include "extratools.h"
|
||||
|
||||
#include "RenderTarget.h"
|
||||
|
||||
namespace Archimedes {
|
||||
|
||||
class Renderer {
|
||||
|
||||
public:
|
||||
int w, h;
|
||||
|
||||
glm::vec4 clearColor = { 0.0f, 0.0f, 0.0f, 1.0f };
|
||||
|
||||
Renderer() : w(0), h(0) {}
|
||||
|
||||
virtual ~Renderer() {}
|
||||
|
||||
virtual bool init() = 0;
|
||||
|
||||
virtual void render() = 0;
|
||||
|
||||
virtual Shader createShader(const std::string& vs, const std::string& fs, const Shader::LoadType& lt) = 0;
|
||||
|
||||
virtual void useShader(Shader& shader) = 0;
|
||||
|
||||
virtual RenderTarget createRenderTarget(
|
||||
VertexBuffer vb,
|
||||
IndexArray ia,
|
||||
VertexLayout layout,
|
||||
Shader& s
|
||||
) = 0;
|
||||
|
||||
virtual void useRenderTarget(RenderTarget& rt) = 0;
|
||||
|
||||
virtual void draw(const RenderTarget&) = 0;
|
||||
|
||||
virtual Renderer* getRendererImpl() = 0;
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user