2017-01-01 20:57:35 -04:00
|
|
|
#pragma once
|
|
|
|
|
#ifndef DIRECTIONAL_LIGHT_HPP
|
|
|
|
|
#define DIRECTIONAL_LIGHT_HPP
|
|
|
|
|
|
|
|
|
|
#include "light.hpp"
|
|
|
|
|
|
|
|
|
|
class DirectionalLight: public Light {
|
|
|
|
|
public:
|
2017-01-11 14:51:21 -04:00
|
|
|
DirectionalLight(): Light() { }
|
2017-01-01 20:57:35 -04:00
|
|
|
|
2017-01-12 13:38:42 -04:00
|
|
|
DirectionalLight(vec3 _p, vec3 _d, vec3 _s): Light(_p, _d, _s) { }
|
2017-01-01 20:57:35 -04:00
|
|
|
|
2017-01-02 04:23:48 -04:00
|
|
|
virtual vec3 direction(vec3 point);
|
|
|
|
|
virtual float distance(vec3 point);
|
2017-01-11 14:51:21 -04:00
|
|
|
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;
|
2017-01-01 20:57:35 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|