00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef TOXIC_RENDERER_GLOBALPHOTONTRACER_H
00024 #define TOXIC_RENDERER_GLOBALPHOTONTRACER_H
00025
00026 #include "common/misc/progressmonitor.h"
00027 #include "globals.h"
00028 #include "iphotontracer.h"
00029
00030 namespace toxic {
00031
00032 class Color3;
00033 class Context;
00034 class PhotonMap;
00035 class Ray;
00036 class Scene;
00037
00038 class GlobalPhotonTracer : public IPhotonTracer {
00039 public:
00040 protected:
00041 virtual void trace_photon(
00042 const Context &context,
00043 PhotonMap *photonmap,
00044 const Scene *scene,
00045 Ray ray,
00046 Color3 power
00047 ) const;
00048 };
00049
00050 #include "globalphotontracer.inl"
00051
00052 }
00053
00054 #endif // !TOXIC_RENDERER_GLOBALPHOTONTRACER_H