Caustics.h

Go to the documentation of this file.
00001 /* $Id:$ */
00002 
00003 #ifndef __CAUSTICS_H
00004 #define __CAUSTICS_H
00005 
00006 #include <gra/reflection/PhotonTracing.h>
00007 
00008 /*
00009  * Photon tracing that stops at diffuse surfaces
00010  */
00011 
00012 namespace gra {
00013 
00014 class GRA_EXPORT Caustics : public PhotonTracing {
00015 protected:
00016     virtual void _illuminate (PointEnv&, unsigned, bool, Color3f&);
00017     
00018 public:
00019     Caustics (Intersector * i = NULL) : PhotonTracing(i, 100000, 0) {}
00020 
00021     /*
00022      * Required input parametters:
00023      *   PointEnv.intersection()    = first impact point of the photon (PoI)
00024      *   PointEnv.visitableObject() = object with PoI
00025      *   PointEnv.normal()          = surface normal at PoI
00026      *   PointEnv.energy()          = power of photon
00027      *   PointEnv.viewerDir()       = direction to the photon emission location
00028      *  [PointEnv.trMat             = possible transformation ]
00029      */
00030     //virtual Color3f* illuminatePoint(PointEnv & /* point of interest */);
00031 };
00032     
00033 } // namespace
00034 
00035 #endif // __CAUSTICS_H

Generated on Tue Nov 21 15:11:42 2006 for gra by  doxygen 1.4.6