From 03cc3b94c94c38767802bccac4e9384ab704065a Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Fri, 9 Nov 2012 09:11:24 +0000 Subject: Fisheye Equidistant Lens algorith bugfix r = lens * theta Thanks for Adriano Oliveira for reporting this and chasing down the right formula. Now fulldome works no longer need to use equisolid + a specific lens+sensor size. And happy birthday to me. And yes, that's how I celebrate it ;) --- intern/cycles/kernel/kernel_projection.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'intern/cycles/kernel/kernel_projection.h') diff --git a/intern/cycles/kernel/kernel_projection.h b/intern/cycles/kernel/kernel_projection.h index 64747bcb42e..6516b9e4d82 100644 --- a/intern/cycles/kernel/kernel_projection.h +++ b/intern/cycles/kernel/kernel_projection.h @@ -98,7 +98,7 @@ __device float3 fisheye_to_direction(float u, float v, float fov) return make_float3(0.0f, 0.0f, 0.0f); float phi = acosf((r != 0.0f)? u/r: 0.0f); - float theta = asinf(r) * (fov / M_PI_F); + float theta = r * fov * 0.5f; if(v < 0.0f) phi = -phi; -- cgit v1.2.3