#ifndef LIGHT_HXX
#define LIGHT_HXX

#include "Vec3f.hxx"
#include "Ray.hxx"

class Scene; // forward declaration

class Light
{
protected:
	Scene *scene;
public:
	Light(Scene *scene) : scene(scene)
	{};

	virtual ~Light(){};

	virtual bool Illuminate(Ray &ray, Vec3f &intensity) = 0;
	// ray.org specifies the point to be illuminated
};

#endif
