[Bf-blender-cvs] [ef816f9cff5] master: Cycles: Fix the AO replacement option in the split kernel

Lukas Stockner noreply at git.blender.org
Tue Apr 11 01:08:31 CEST 2017


Commit: ef816f9cff54056f0bb3c986737cb35c770fbe4b
Author: Lukas Stockner
Date:   Tue Apr 11 00:53:31 2017 +0200
Branches: master
https://developer.blender.org/rBef816f9cff54056f0bb3c986737cb35c770fbe4b

Cycles: Fix the AO replacement option in the split kernel

Currently the code for it was inside the hair-specific part, so it wouldn't be enabled in hairless renders.

===================================================================

M	intern/cycles/kernel/split/kernel_scene_intersect.h

===================================================================

diff --git a/intern/cycles/kernel/split/kernel_scene_intersect.h b/intern/cycles/kernel/split/kernel_scene_intersect.h
index 684760eedee..5dc94caec85 100644
--- a/intern/cycles/kernel/split/kernel_scene_intersect.h
+++ b/intern/cycles/kernel/split/kernel_scene_intersect.h
@@ -59,6 +59,11 @@ ccl_device void kernel_scene_intersect(KernelGlobals *kg)
 	/* intersect scene */
 	uint visibility = path_state_ray_visibility(kg, &state);
 
+	if(state.bounce > kernel_data.integrator.ao_bounces) {
+		visibility = PATH_RAY_SHADOW;
+		ray.t = kernel_data.background.ao_distance;
+	}
+
 #ifdef __HAIR__
 	float difl = 0.0f, extmax = 0.0f;
 	uint lcg_state = 0;
@@ -75,11 +80,6 @@ ccl_device void kernel_scene_intersect(KernelGlobals *kg)
 		lcg_state = lcg_state_init(&rng, state.rng_offset, state.sample, 0x51633e2d);
 	}
 
-	if(state.bounce > kernel_data.integrator.ao_bounces) {
-		visibility = PATH_RAY_SHADOW;
-		ray.t = kernel_data.background.ao_distance;
-	}
-
 	bool hit = scene_intersect(kg, ray, visibility, &isect, &lcg_state, difl, extmax);
 #else
 	bool hit = scene_intersect(kg, ray, visibility, &isect, NULL, 0.0f, 0.0f);




More information about the Bf-blender-cvs mailing list