#ifndef SCENEOPENGL_H_INCLUDED
#define SCENEOPENGL_H_INCLUDED

// Includes GLM
#include <glm/glm.hpp>
#include <glm/gtx/transform.hpp>
#include <glm/gtc/type_ptr.hpp>

// Includes OpenGL
#include <SDL2/SDL.h>
#define GL3_PROTOTYPES 1
#include <GL3/gl3.h>

//Includes de base
#include <string>
#include <iostream>

//Autres includes
#include "Shader.h"
#include "Caisse.h"
#include "Input.h"
#include "Texture.h"
#include "Surface3D.h"

class SceneOpenGL
{
    public:

    SceneOpenGL(std::string titre, int largeur, int hauteur);
    ~SceneOpenGL();

    bool initialiserFenetre();
    bool initGL();
    void bouclePrincipale();


    private:

    std::string m_titreFenetre;
    int m_largeurFenetre;
    int m_hauteurFenetre;

    SDL_Window* m_fenetre;
    SDL_GLContext m_contexteOpenGL;
    Input m_input;
};

#endif // SCENEOPENGL_H_INCLUDED