28 lines
610 B
C++
28 lines
610 B
C++
#pragma once
|
|
#ifndef DIRECTIONAL_LIGHT_HPP
|
|
#define DIRECTIONAL_LIGHT_HPP
|
|
|
|
#include "light.hpp"
|
|
|
|
class DirectionalLight: public Light {
|
|
public:
|
|
DirectionalLight() {
|
|
m_position = vec3(0.0f);
|
|
m_diffuse = vec3(1.0f);
|
|
m_specular = vec3(1.0f);
|
|
}
|
|
|
|
DirectionalLight(vec3 _p, vec3 _d, vec3 _s) {
|
|
m_position = _p;
|
|
m_diffuse = _d;
|
|
m_specular = _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;
|
|
};
|
|
|
|
#endif
|