diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-07-10 21:25:52 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-07-10 21:25:52 +0400 |
commit | 3a89f98a24e524b0fcb78120c18621498eeee470 (patch) | |
tree | 6b8c285ae4b2ed04efc316dd1454712d2e856aa5 | |
parent | 990cad983b8ad313e7ad346fa075dcf9f43b3d1e (diff) |
Fix #36053: slow GPU render with panorama camera + depth of field.
-rw-r--r-- | intern/cycles/kernel/kernel_camera.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/intern/cycles/kernel/kernel_camera.h b/intern/cycles/kernel/kernel_camera.h index 4b9ef8893f7..c3cffc15ebe 100644 --- a/intern/cycles/kernel/kernel_camera.h +++ b/intern/cycles/kernel/kernel_camera.h @@ -166,6 +166,12 @@ __device void camera_sample_panorama(KernelGlobals *kg, float raster_x, float ra ray->D = panorama_to_direction(kg, Pcamera.x, Pcamera.y); + /* indicates ray should not receive any light, outside of the lens */ + if(is_zero(ray->D)) { + ray->t = 0.0f; + return; + } + /* modify ray for depth of field */ float aperturesize = kernel_data.cam.aperturesize; @@ -186,12 +192,6 @@ __device void camera_sample_panorama(KernelGlobals *kg, float raster_x, float ra ray->D = normalize(Pfocus - ray->P); } - /* indicates ray should not receive any light, outside of the lens */ - if(is_zero(ray->D)) { - ray->t = 0.0f; - return; - } - /* transform ray from camera to world */ Transform cameratoworld = kernel_data.cam.cameratoworld; |