#ifndef SURFACE3D_H_INCLUDED
#define SURFACE3D_H_INCLUDED

// Includes OpenGL
#ifdef WIN32
#include <GL/glew.h>

#else
#define GL3_PROTOTYPES 1
#include <GLES3/gl3.h>

#endif

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

// Includes
#include <iostream>
#include "Shader.h"
#include "Texture.h"

class Surface3D
{
    public:

        Surface3D(float tailleX, float tailleY, std::string const vertexShader, std::string const fragmentShader,
                  std::string const fichierImage, float multi=0);
        ~Surface3D();
        void afficher(glm::mat4 &projection, glm::mat4 &modelview);

    private:

        Shader m_shader;
        Texture m_texture;
        float m_vertices[18];
        float m_coordTexture[12];
};

#endif // SURFACE3D_H_INCLUDED
