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:
-rw-r--r--intern/cycles/kernel/kernel_emission.h10
-rw-r--r--intern/cycles/kernel/kernel_path.h21
2 files changed, 6 insertions, 25 deletions
diff --git a/intern/cycles/kernel/kernel_emission.h b/intern/cycles/kernel/kernel_emission.h
index 5e04f52a22c..46ff209e6f1 100644
--- a/intern/cycles/kernel/kernel_emission.h
+++ b/intern/cycles/kernel/kernel_emission.h
@@ -349,14 +349,8 @@ ccl_device_noinline_cpu float3 indirect_background(KernelGlobals *kg,
/* consider shading point at previous non-transparent bounce */
float3 P_pick;
float3 N_pick;
- if (state->ray_t == 0.0f) { // Non-transparent bounce
- P_pick = emission_sd->P_pick;
- N_pick = emission_sd->N_pick;
- }
- else { // Transparent bounce
- P_pick = ray->P - state->ray_t * ray->D;
- N_pick = state->ray_N;
- }
+ P_pick = ray->P - state->ray_t * ray->D;
+ N_pick = state->ray_N;
/* check if background light exists or if we should skip pdf */
int res_x = kernel_data.integrator.pdf_background_res_x;
diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h
index af9833385b4..84ccb48bdf9 100644
--- a/intern/cycles/kernel/kernel_path.h
+++ b/intern/cycles/kernel/kernel_path.h
@@ -98,15 +98,8 @@ ccl_device_forceinline void kernel_path_lamp_emission(KernelGlobals *kg,
/* ray starting from previous non-transparent bounce */
Ray light_ray ccl_optional_struct_init;
float3 N_pick;
- if (state->ray_t == 0.0f) {
- light_ray.P = emission_sd->P_pick;
- N_pick = emission_sd->N_pick;
- }
- else {
- /* Current bounce was on a transparent surface */
- light_ray.P = ray->P - state->ray_t * ray->D;
- N_pick = state->ray_N;
- }
+ light_ray.P = ray->P - state->ray_t * ray->D;
+ N_pick = state->ray_N;
state->ray_t += isect->t;
light_ray.D = ray->D;
@@ -337,14 +330,8 @@ ccl_device_forceinline bool kernel_path_shader_apply(KernelGlobals *kg,
/* ray starting from previous non-transparent bounce */
float3 P_pick;
float3 N_pick;
- if (state->ray_t == 0.0f) { // Non-transparent bounce
- P_pick = sd->P_pick;
- N_pick = sd->N_pick;
- }
- else { // Transparent bounce
- P_pick = ray->P - state->ray_t * ray->D;
- N_pick = state->ray_N;
- }
+ P_pick = ray->P - state->ray_t * ray->D;
+ N_pick = state->ray_N;
float ray_length = state->ray_t + sd->ray_length;