Separated BRDF from light source.

This commit is contained in:
Miguel Angel Astor Romero
2017-01-11 14:51:21 -04:00
parent a9670e93f0
commit f150f8f24c
13 changed files with 94 additions and 66 deletions

View File

@@ -6,22 +6,14 @@
class DirectionalLight: public Light {
public:
DirectionalLight() {
m_position = vec3(0.0f);
m_diffuse = vec3(1.0f);
m_specular = vec3(1.0f);
}
DirectionalLight(): Light() { }
DirectionalLight(vec3 _p, vec3 _d, vec3 _s) {
m_position = _p;
m_diffuse = _d;
m_specular = _s;
}
DirectionalLight(BRDF * _brdf, vec3 _p, vec3 _d, vec3 _s): Light(_brdf, _p, _d, _s) { }
virtual vec3 direction(vec3 point);
virtual float distance(vec3 point);
virtual vec3 diffuse(vec3 normal, Ray & r, float t, Material & m) const;
virtual vec3 specular(vec3 normal, Ray & r, float t, Material & m) const;
virtual vec3 diffuse(vec3 normal, Ray & r, vec3 i_pos, Material & m) const;
virtual vec3 specular(vec3 normal, Ray & r, vec3 i_pos, Material & m) const;
};
#endif