Moved BRDF to material definition.
This commit is contained in:
11
material.hpp
11
material.hpp
@@ -4,6 +4,9 @@
|
||||
|
||||
#include <glm/vec3.hpp>
|
||||
|
||||
#include "brdf.hpp"
|
||||
#include "phong_brdf.hpp"
|
||||
|
||||
using glm::vec3;
|
||||
|
||||
class Material {
|
||||
@@ -14,10 +17,11 @@ public:
|
||||
float m_shininess;
|
||||
float m_ref_index;
|
||||
bool m_refract;
|
||||
float kd;
|
||||
float ks;
|
||||
BRDF * m_brdf;
|
||||
|
||||
Material(): m_diffuse(vec3(1.0f)), m_specular(vec3(1.0f)), m_rho(0.0f), m_shininess(89.0f), m_ref_index(1.0f), m_refract(false), kd(0.4f), ks(0.4f) { }
|
||||
Material(BRDF * _brdf = NULL): m_diffuse(vec3(1.0f)), m_specular(vec3(1.0f)), m_rho(0.0f), m_shininess(89.0f), m_ref_index(1.0f), m_refract(false) {
|
||||
m_brdf = _brdf != NULL ? _brdf : static_cast<BRDF *>(new PhongBRDF());
|
||||
}
|
||||
|
||||
Material(const Material & m) {
|
||||
m_diffuse = m.m_diffuse;
|
||||
@@ -26,6 +30,7 @@ public:
|
||||
m_shininess = m.m_shininess;
|
||||
m_ref_index = m.m_ref_index;
|
||||
m_refract = m.m_refract;
|
||||
m_brdf = m.m_brdf;
|
||||
}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user