couch/core/Light.h
2021-01-27 16:17:22 -06:00

29 lines
655 B
C++

#ifndef LIGHT_H
#define LIGHT_H
#include "types.h"
#include "Spatial.h"
class Light : public Spatial {
public:
Vector3 color;
float ambient, diffuse, specular;
virtual Name GetType() const;
virtual Light *Create();
virtual Light *Duplicate();
virtual Light *Instance();
};
class DirectionalLight : public Light {
public:
Vector3 direction;
DirectionalLight();
DirectionalLight(Vector3 direction, Vector3 color, float ambient, float diffuse, float specular);
virtual Name GetType() const;
virtual DirectionalLight *Create();
virtual DirectionalLight *Duplicate();
virtual DirectionalLight *Instance();
};
#endif /* LIGHT_H */