src/raytracer.h
branchpyrit
changeset 4 c73bc405ee7a
parent 0 3547b885df7e
child 5 2d97ea5e711a
--- 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);