2021-01-21 15:26:39 -06:00
|
|
|
#ifndef LIGHT_H
|
|
|
|
#define LIGHT_H
|
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
#include "Spatial.h"
|
|
|
|
|
|
|
|
class Light : public Spatial {
|
|
|
|
public:
|
|
|
|
Vector3 color;
|
|
|
|
cfloat ambient, diffuse, specular;
|
|
|
|
virtual Name GetType() const;
|
2021-01-24 16:37:35 -06:00
|
|
|
virtual Light *Create();
|
|
|
|
virtual Light *Duplicate();
|
|
|
|
virtual Light *Instance();
|
2021-01-21 15:26:39 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
class DirectionalLight : public Light {
|
|
|
|
public:
|
|
|
|
Vector3 direction;
|
|
|
|
DirectionalLight();
|
|
|
|
DirectionalLight(Vector3 direction, Vector3 color, cfloat ambient, cfloat diffuse, cfloat specular);
|
|
|
|
virtual Name GetType() const;
|
2021-01-24 16:37:35 -06:00
|
|
|
virtual DirectionalLight *Create();
|
|
|
|
virtual DirectionalLight *Duplicate();
|
|
|
|
virtual DirectionalLight *Instance();
|
2021-01-21 15:26:39 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* LIGHT_H */
|