diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-08-13 00:15:58 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-08-13 02:19:07 +0300 |
commit | dc7fcebb3331be9fb12e498f635e24b25cd284f9 (patch) | |
tree | bfa67f42a668f192cfee4ee6c796714356922460 /intern/cycles/kernel/kernel_path.h | |
parent | 7542282c067380ae3cf856335f999e7fc97b7f87 (diff) |
Code cleanup: make L_transparent part of PathRadiance.
Diffstat (limited to 'intern/cycles/kernel/kernel_path.h')
-rw-r--r-- | intern/cycles/kernel/kernel_path.h | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index ed4c2c33aeb..c454228eab5 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -432,17 +432,16 @@ ccl_device void kernel_path_indirect(KernelGlobals *kg, #endif /* defined(__BRANCHED_PATH__) || defined(__BAKING__) */ -ccl_device_inline float kernel_path_integrate(KernelGlobals *kg, - RNG *rng, - int sample, - Ray ray, - ccl_global float *buffer, - PathRadiance *L, - bool *is_shadow_catcher) +ccl_device_inline void kernel_path_integrate(KernelGlobals *kg, + RNG *rng, + int sample, + Ray ray, + ccl_global float *buffer, + PathRadiance *L, + bool *is_shadow_catcher) { /* initialize */ float3 throughput = make_float3(1.0f, 1.0f, 1.0f); - float L_transparent = 0.0f; path_radiance_init(L, kernel_data.film.use_light_pass); @@ -496,7 +495,7 @@ ccl_device_inline float kernel_path_integrate(KernelGlobals *kg, if(state.flag & PATH_RAY_CAMERA) { L->debug_data.num_bvh_traversed_nodes += isect.num_traversed_nodes; L->debug_data.num_bvh_traversed_instances += isect.num_traversed_instances; - L.->ebug_data.num_bvh_intersections += isect.num_intersections; + L->debug_data.num_bvh_intersections += isect.num_intersections; } L->debug_data.num_ray_bounces++; #endif /* __KERNEL_DEBUG__ */ @@ -613,7 +612,7 @@ ccl_device_inline float kernel_path_integrate(KernelGlobals *kg, if(!hit) { /* eval background shader if nothing hit */ if(kernel_data.background.transparent && (state.flag & PATH_RAY_CAMERA)) { - L_transparent += average(throughput); + L->transparent += average(throughput); #ifdef __PASSES__ if(!(kernel_data.film.pass_flag & PASS_BACKGROUND)) @@ -673,7 +672,7 @@ ccl_device_inline float kernel_path_integrate(KernelGlobals *kg, holdout_weight = shader_holdout_eval(kg, &sd); } /* any throughput is ok, should all be identical here */ - L_transparent += average(holdout_weight*throughput); + L->transparent += average(holdout_weight*throughput); } if(sd.object_flag & SD_OBJECT_HOLDOUT_MASK) { @@ -780,8 +779,6 @@ ccl_device_inline float kernel_path_integrate(KernelGlobals *kg, #ifdef __SHADOW_TRICKS__ *is_shadow_catcher = (state.flag & PATH_RAY_SHADOW_CATCHER) != 0; #endif /* __SHADOW_TRICKS__ */ - - return 1.0f - L_transparent; } ccl_device void kernel_path_trace(KernelGlobals *kg, @@ -806,11 +803,11 @@ ccl_device void kernel_path_trace(KernelGlobals *kg, bool is_shadow_catcher; if(ray.t != 0.0f) { - float alpha = kernel_path_integrate(kg, &rng, sample, ray, buffer, &L, &is_shadow_catcher); - kernel_write_result(kg, buffer, sample, &L, alpha, is_shadow_catcher); + kernel_path_integrate(kg, &rng, sample, ray, buffer, &L, &is_shadow_catcher); + kernel_write_result(kg, buffer, sample, &L, is_shadow_catcher); } else { - kernel_write_result(kg, buffer, sample, NULL, 0.0f, false); + kernel_write_result(kg, buffer, sample, NULL, false); } } |