00001
00006 #ifndef RAYSHADE_H
00007 #define RAYSHADE_H
00008
00009
00010
00011
00012
00013
00014
00015 #include "geom.h"
00016 #include "ray.h"
00017 #include "shade.h"
00018 #include "obj.h"
00019
00020
00021
00022
00023
00024
00025
00027
00034 class RayTraceMethod {
00035
00036 public :
00037
00039 static Color ray_shade(int level, Real w, Ray v, RenderContext *rc, Object *ol);
00041 static Vector3 reflect_dir(const Vector3 &d, Vector3 n);
00043 static Vector3 refract_dir(const Vector3 &d, Vector3 n, Real eta);
00044
00045 protected :
00046
00047 static Real shadow(LightSource *l, Vector3 p, Object *ol);
00048
00049 };
00050
00051 #endif //RAYSHADE_H