Separated BRDF from light source.
This commit is contained in:
20
brdf.hpp
Normal file
20
brdf.hpp
Normal 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
|
Reference in New Issue
Block a user