diff --git a/main/Scene-load.cc b/main/Scene-load.cc index 0dec38c..4bd8c3d 100644 --- a/main/Scene-load.cc +++ b/main/Scene-load.cc @@ -313,6 +313,10 @@ refptr Scene::processMaterial(refptr node) { material->setReflectance((*it)->getNumber()); } + else if ( typeid(**it) == typeid(RefractionNode) ) + { + material->setRefraction((*it)->getNumber()); + } else if ( typeid(**it) == typeid(ShininessNode) ) { material->setShininess((*it)->getNumber()); diff --git a/util/Material.h b/util/Material.h index 6f12714..703322b 100644 --- a/util/Material.h +++ b/util/Material.h @@ -33,6 +33,9 @@ class Material void setReflectance(double reflectance) { m_reflectance = reflectance; } double getReflectance() const { return m_reflectance; } + void setRefraction(double refraction) { m_refraction = refraction; } + double getRefraction() const { return m_refraction; } + void setTransparency(double t) { m_transparency = t; } double getTransparency() const { return m_transparency; } @@ -42,6 +45,7 @@ class Material Color m_specular_color; double m_shininess; double m_reflectance; + double m_refraction; double m_transparency; };