diff --git a/phongcolor.frag b/phongcolor.frag index 3f1b872..f41a518 100644 --- a/phongcolor.frag +++ b/phongcolor.frag @@ -1,6 +1,7 @@ #version 330 core // material +uniform vec3 materialAmbient; uniform vec3 materialKd; uniform vec3 materialKs; uniform float materialNs; @@ -40,6 +41,6 @@ void main(void) { for(i=1; ibind(); - shader->bindVec3(shader->getLocation("materialKd"), kd); - shader->bindVec3(shader->getLocation("materialKs"), ks); - shader->bindFloat(shader->getLocation("materialNs"), ns); + shader->bindVec3(shader->getLocation("materialAmbient"), emission); + shader->bindVec3(shader->getLocation("materialKd"), diffuse); + shader->bindVec3(shader->getLocation("materialKs"), specular); + shader->bindFloat(shader->getLocation("materialNs"), shininess); if(diffuse_texture != NULL) { diffuse_texture->bind(TEX_ID); diff --git a/phongmaterial.h b/phongmaterial.h index 56133c7..78a8d1c 100644 --- a/phongmaterial.h +++ b/phongmaterial.h @@ -9,17 +9,18 @@ class Texture; class PhongMaterial : public Material { public: - glm::vec3 kd; - glm::vec3 ks; - float ns; + glm::vec3 emission; + glm::vec3 diffuse; + glm::vec3 specular; + float shininess; Texture* diffuse_texture; Texture* normal_map; - PhongMaterial() : kd(0.5f), ks(0.5f), ns(10), diffuse_texture(NULL) + PhongMaterial() : emission(0), diffuse(0.5f), specular(0.5f), shininess(10), diffuse_texture(NULL) { updateShader(); } - PhongMaterial(glm::vec3 myKd, glm::vec3 myKs, float myNs) : kd(myKd), ks(myKs), ns(myNs), diffuse_texture(NULL) + PhongMaterial(glm::vec3 myKd, glm::vec3 myKs, float myNs) : emission(0), diffuse(myKd), specular(myKs), shininess(myNs), diffuse_texture(NULL) { updateShader(); } diff --git a/phongtexture.frag b/phongtexture.frag index 7dd50ba..bc8151c 100644 --- a/phongtexture.frag +++ b/phongtexture.frag @@ -1,6 +1,7 @@ #version 330 core // material +uniform vec3 materialAmbient; uniform vec3 materialKd; uniform vec3 materialKs; uniform float materialNs; @@ -43,6 +44,6 @@ void main(void) { for(i=1; i