From 5a74fe63d0a3f86e61c162ee9a33040aa63f0020 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Thu, 14 Aug 2014 16:09:40 +0200 Subject: Cycles: Avoid intermediate function when we sample all lamps. --- intern/cycles/kernel/kernel_light.h | 5 ----- intern/cycles/kernel/kernel_path_surface.h | 2 +- intern/cycles/kernel/kernel_path_volume.h | 4 ++-- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/intern/cycles/kernel/kernel_light.h b/intern/cycles/kernel/kernel_light.h index 3832631e02d..bf314f4c02a 100644 --- a/intern/cycles/kernel/kernel_light.h +++ b/intern/cycles/kernel/kernel_light.h @@ -546,11 +546,6 @@ ccl_device int light_select_num_samples(KernelGlobals *kg, int index) return __float_as_int(data3.x); } -ccl_device void light_select(KernelGlobals *kg, int index, float randu, float randv, float3 P, LightSample *ls) -{ - lamp_light_sample(kg, index, randu, randv, P, ls); -} - ccl_device int lamp_light_eval_sample(KernelGlobals *kg, float randt) { /* sample index */ diff --git a/intern/cycles/kernel/kernel_path_surface.h b/intern/cycles/kernel/kernel_path_surface.h index 81526b0ba7a..9553c2da0df 100644 --- a/intern/cycles/kernel/kernel_path_surface.h +++ b/intern/cycles/kernel/kernel_path_surface.h @@ -50,7 +50,7 @@ ccl_device void kernel_branched_path_surface_connect_light(KernelGlobals *kg, RN path_branched_rng_2D(kg, &lamp_rng, state, j, num_samples, PRNG_LIGHT_U, &light_u, &light_v); LightSample ls; - light_select(kg, i, light_u, light_v, sd->P, &ls); + lamp_light_sample(kg, i, light_u, light_v, sd->P, &ls); if(direct_emission(kg, sd, &ls, &light_ray, &L_light, &is_lamp, state->bounce, state->transparent_bounce)) { /* trace shadow ray */ diff --git a/intern/cycles/kernel/kernel_path_volume.h b/intern/cycles/kernel/kernel_path_volume.h index ea90a497d9c..5e47a3ea6ac 100644 --- a/intern/cycles/kernel/kernel_path_volume.h +++ b/intern/cycles/kernel/kernel_path_volume.h @@ -134,7 +134,7 @@ ccl_device void kernel_branched_path_volume_connect_light(KernelGlobals *kg, RNG path_branched_rng_2D(kg, &lamp_rng, state, j, num_samples, PRNG_LIGHT_U, &light_u, &light_v); LightSample ls; - light_select(kg, i, light_u, light_v, ray->P, &ls); + lamp_light_sample(kg, i, light_u, light_v, ray->P, &ls); float3 tp = throughput; @@ -149,7 +149,7 @@ ccl_device void kernel_branched_path_volume_connect_light(KernelGlobals *kg, RNG continue; /* todo: split up light_sample so we don't have to call it again with new position */ - light_select(kg, i, light_u, light_v, sd->P, &ls); + lamp_light_sample(kg, i, light_u, light_v, sd->P, &ls); if(ls.pdf == 0.0f) continue; -- cgit v1.2.3