summaryrefslogtreecommitdiffstats
path: root/src/Renderer.hpp
blob: cd0d7b06282e521eb42f3ef43106cd3895f0886e (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 = -1;
	GLuint ActiveShader = -1;
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;
};