#ifndef PHONGMATERIAL_H #define PHONGMATERIAL_H #include "material.h" #include "glm/vec3.hpp" #include class Texture; struct PhongMaterial : public Material { enum TextureSlots { DIFFUSE_SLOT, EMISSION_SLOT, NORMALS_SLOT, SPECULAR_SLOT, ALPHA_SLOT, NB_PHONG_SLOTS }; glm::vec3 emission; glm::vec3 diffuse; glm::vec3 specular; float shininess; Texture* textures[NB_PHONG_SLOTS]; std::string textureNames[NB_PHONG_SLOTS]; PhongMaterial() : emission(0), diffuse(0.5f), specular(0.5f), shininess(10) { for(int i=0; i