00001 #ifndef LIGHTSAMPLER_H_
00002 #define LIGHTSAMPLER_H_
00003
00004 #include "../../math/Point3D.h"
00005 #include "../../math/Vec3D.h"
00006 #include "../LightSample.h"
00007 #include <vector>
00008
00009 namespace rcrt
00010 {
00011
00012 class Scene;
00013
00014 class LightSampler
00015 {
00016 public:
00017 LightSampler();
00018 virtual ~LightSampler();
00019
00020 virtual void sample(const Point3D& p, const Vec3D& no,
00021 std::vector<LightSample>& samples, const int& maxSamples, Scene* scene) =0;
00022 };
00023
00024 }
00025
00026 #endif
00027