diff -r 8f9cb0526c47 -r c73bc405ee7a src/raytracer.h --- a/src/raytracer.h Fri Nov 16 10:25:12 2007 +0100 +++ b/src/raytracer.h Sat Nov 17 17:20:36 2007 +0100 @@ -24,6 +24,16 @@ AABB extends() { return AABB(); }; }; +class Raytracer; +struct RenderrowData { + Raytracer *rt; + int w; + float vx, vy, dx, dy; + Vector3 eye; + float *iter; +}; +static void *renderrow(void *data); + class Raytracer { ShapeList shapes; @@ -35,11 +45,11 @@ Vector3 SphereDistribute(int i, int n, float extent, Vector3 &normal); inline Shape *nearest_intersection(const Shape *origin_shape, const Ray &ray, float &nearest_distance); - Colour raytrace(Ray &ray, int depth, Shape *origin_shape); public: Raytracer(): shapes(), lights(), bg_colour(0.0, 0.0, 0.0), ao_samples(0) {}; ~Raytracer() {}; float *render(int w, int h); + Colour raytrace(Ray &ray, int depth, Shape *origin_shape); void addshape(Shape *shape); void addlight(Light *light);