#include <cmath>
#include <iostream>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>
#include <glm/gtc/type_ptr.hpp>

#include "GLSL.h"
#include "MyCamera.h"
#include "Shape.h"
#include "MatrixStack.h"

class Material
{
        private:
                glm::vec3 ca;
                glm::vec3 cd;
                glm::vec3 cs;
                float shine;

        public:
                Material();
                Material(const Material &m)
                {
                        ca = m.ca;
                        cd = m.cd;
                        cs = m.cs;
                }
                Material(glm::vec3 a, glm::vec3 d, glm::vec3 s, float sh)
                {
                        ca = a;
                        cd = d;
                        cs = s;
                        shine = sh;
                }
                void setMaterial(glm::vec3 a, glm::vec3 d, glm::vec3 s, float sh);
                glm::vec3 getAmbient();
                glm::vec3 getDiffuse();
                glm::vec3 getSpecular();
                float getShiny();
};
