summaryrefslogtreecommitdiffstats
path: root/src/Renderer.hpp
blob: de2e331c43e4973e095017b38faa638f70ca1101 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#include <GL/glew.h>

class RenderState {
	GLuint ActiveVao = 0;
	GLuint ActiveShader = 0;
public:
	void SetActiveVao(GLuint Vao);
	void SetActiveShader(GLuint Shader);
    unsigned int WindowWidth, WindowHeight;
};

struct Renderer {
    virtual ~Renderer() = default;
    virtual void Render(RenderState& renderState) = 0;
    virtual void PrepareResources() = 0;
    virtual void PrepareRender() = 0;
    virtual bool IsNeedResourcesPrepare() = 0;
};