Added Heidrich-Seidel anisotropic BRDF.

This commit is contained in:
Miguel Angel Astor Romero
2017-01-13 15:05:13 -04:00
parent b7f7ba7ee1
commit 8e2b2a8c2a
12 changed files with 111 additions and 57 deletions

21
hsa_brdf.hpp Normal file
View File

@@ -0,0 +1,21 @@
#pragma once
#ifndef HSA_BRDF_HPP
#define HSA_BRDF_HPP
#include "phong_brdf.hpp"
using glm::normalize;
class HeidrichSeidelAnisotropicBRDF: public PhongBRDF {
public:
vec3 thread_dir;
HeidrichSeidelAnisotropicBRDF(vec3 _d): PhongBRDF(), thread_dir(normalize(_d)) { }
virtual ~HeidrichSeidelAnisotropicBRDF() { }
virtual vec3 diffuse(vec3 light_dir, vec3 surface_normal, Ray & incident_ray, vec3 intersection_point, vec3 light_diff_color) const;
virtual vec3 specular(vec3 light_dir, vec3 surface_normal, Ray & incident_ray, vec3 intersection_point, vec3 light_spec_color, float shininess) const;
};
#endif