#ifndef PHONGMATERIAL_H #define PHONGMATERIAL_H #include "material.h" #include "glm/vec3.hpp" #include class Texture; struct PBRMaterial : public Material { enum TextureSlots { ALBEDO_SLOT, EMISSION_SLOT, NORMALS_SLOT, ROUGHNESS_SLOT, METALLIC_SLOT, ALPHA_SLOT, NB_PBR_SLOTS }; glm::vec3 emission; glm::vec3 albedo; float roughness; float metallic; float opacity; Texture* textures[NB_PBR_SLOTS]; std::string textureNames[NB_PBR_SLOTS]; PBRMaterial() : emission(0), albedo(0.9f), roughness(0.8f), metallic(0.2), opacity(1.f) { for(int i=0; i