summaryrefslogblamecommitdiffstats
path: root/src/Renderer.hpp
blob: cd0d7b06282e521eb42f3ef43106cd3895f0886e (plain) (tree)
1
2
3
4
5
6
7
8
9
10




                    

                                 


                                            
                                           


                 




                                                      
 
#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;
};