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

20
brdf.hpp Normal file
View File

@@ -0,0 +1,20 @@
#pragma once
#ifndef BRDF_HPP
#define BRDF_HPP
#include <glm/vec3.hpp>
#include "ray.hpp"
#include "material.hpp"
using glm::vec3;
class BRDF {
public:
virtual ~BRDF() { }
virtual vec3 diffuse(vec3 light_dir, vec3 surface_normal, Ray & incident_ray, vec3 light_diff_color) const = 0;
virtual vec3 specular(vec3 light_dir, vec3 surface_normal, Ray & incident_ray, vec3 light_spec_color, float shininess) const = 0;
};
#endif