Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2017-08-28 14:33:37 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2017-09-13 16:24:14 +0300
commit37d9e65ddfe04ca8bac3c983515066b9eb78dcba (patch)
treea579f7083b602d0baf2d65f85ba67e8ebecd7203 /intern/cycles/kernel/kernel_path_branched.h
parentf77cdd1d59f6e895b567c4d5fdcc6f2440e03307 (diff)
Code cleanup: abstract shadow catcher logic more into accumulation code.
Diffstat (limited to 'intern/cycles/kernel/kernel_path_branched.h')
-rw-r--r--intern/cycles/kernel/kernel_path_branched.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/intern/cycles/kernel/kernel_path_branched.h b/intern/cycles/kernel/kernel_path_branched.h
index daab7c86f7f..b908cbbe970 100644
--- a/intern/cycles/kernel/kernel_path_branched.h
+++ b/intern/cycles/kernel/kernel_path_branched.h
@@ -269,8 +269,7 @@ ccl_device void kernel_branched_path_integrate(KernelGlobals *kg,
int sample,
Ray ray,
ccl_global float *buffer,
- PathRadiance *L,
- bool *is_shadow_catcher)
+ PathRadiance *L)
{
/* initialize */
float3 throughput = make_float3(1.0f, 1.0f, 1.0f);
@@ -374,7 +373,7 @@ ccl_device void kernel_branched_path_integrate(KernelGlobals *kg,
/* emission and transmittance */
if(volume_segment.closure_flag & SD_EMISSION)
- path_radiance_accum_emission(L, throughput, volume_segment.accum_emission, state.bounce);
+ path_radiance_accum_emission(L, &state, throughput, volume_segment.accum_emission);
throughput *= volume_segment.accum_transmittance;
/* free cached steps */
@@ -539,10 +538,6 @@ ccl_device void kernel_branched_path_integrate(KernelGlobals *kg,
kernel_volume_stack_enter_exit(kg, &sd, state.volume_stack);
#endif /* __VOLUME__ */
}
-
-#ifdef __SHADOW_TRICKS__
- *is_shadow_catcher = (state.flag & PATH_RAY_SHADOW_CATCHER) != 0;
-#endif /* __SHADOW_TRICKS__ */
}
ccl_device void kernel_branched_path_trace(KernelGlobals *kg,
@@ -564,14 +559,13 @@ ccl_device void kernel_branched_path_trace(KernelGlobals *kg,
/* integrate */
PathRadiance L;
- bool is_shadow_catcher;
if(ray.t != 0.0f) {
- kernel_branched_path_integrate(kg, rng_hash, sample, ray, buffer, &L, &is_shadow_catcher);
- kernel_write_result(kg, buffer, sample, &L, is_shadow_catcher);
+ kernel_branched_path_integrate(kg, rng_hash, sample, ray, buffer, &L);
+ kernel_write_result(kg, buffer, sample, &L);
}
else {
- kernel_write_result(kg, buffer, sample, NULL, false);
+ kernel_write_result(kg, buffer, sample, NULL);
}
}