From bbe317fb2bde1b2b88df66e5426c9ee78e40a0b6 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Thu, 16 Jul 2009 21:31:51 +0000 Subject: Have camera callbacks take canvas coordinates as doubles. --- libdimension/raytrace.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libdimension/raytrace.c') diff --git a/libdimension/raytrace.c b/libdimension/raytrace.c index 470af4f..df61d6b 100644 --- a/libdimension/raytrace.c +++ b/libdimension/raytrace.c @@ -213,7 +213,9 @@ dmnsn_raytrace_scene_impl(dmnsn_progress *progress, dmnsn_scene *scene, if (scene->quality >= DMNSN_RENDER_OBJECTS) { /* Get the ray corresponding to the (x,y)'th pixel */ - ray = (*scene->camera->ray_fn)(scene->camera, scene->canvas, x, y); + ray = (*scene->camera->ray_fn)(scene->camera, + ((double)x)/(scene->canvas->x - 1), + ((double)y)/(scene->canvas->y - 1)); /* Shoot a ray */ color = dmnsn_raytrace_shoot(scene, color, ray); } -- cgit v1.2.3