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
path: root/intern
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-01-14 20:24:47 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-01-14 20:24:47 +0400
commit6cdbd1b1aaae0f8b3018ecf2648699a0ea6d6be8 (patch)
tree5a07433247e2c9b2e12f23d553091bc36cb88cf0 /intern
parentd0621c1daee9c477216fa3fd7944858c1b1c968b (diff)
Fix #33868: cycles sample as lamp for world background not rendering with the
correct intensity on the GPU.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/kernel/kernel_light.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/intern/cycles/kernel/kernel_light.h b/intern/cycles/kernel/kernel_light.h
index e0d0802ae84..6ba3e439329 100644
--- a/intern/cycles/kernel/kernel_light.h
+++ b/intern/cycles/kernel/kernel_light.h
@@ -233,8 +233,10 @@ __device void lamp_light_sample(KernelGlobals *kg, int lamp,
if(radius > 0.0f)
D = distant_light_sample(D, radius, randu, randv);
+#ifdef __LAMP_MIS__
else
ls->use_mis = false;
+#endif
ls->P = D;
ls->Ng = D;
@@ -255,6 +257,9 @@ __device void lamp_light_sample(KernelGlobals *kg, int lamp,
ls->D = -D;
ls->t = FLT_MAX;
ls->eval_fac = 1.0f;
+#ifndef __LAMP_MIS__
+ ls->use_mis = true;
+#endif
}
#endif
else {
@@ -266,8 +271,10 @@ __device void lamp_light_sample(KernelGlobals *kg, int lamp,
if(radius > 0.0f)
/* sphere light */
ls->P += sphere_light_sample(P, ls->P, radius, randu, randv);
+#ifdef __LAMP_MIS__
else
ls->use_mis = false;
+#endif
ls->D = normalize_len(ls->P - P, &ls->t);
ls->Ng = -ls->D;
@@ -298,7 +305,9 @@ __device void lamp_light_sample(KernelGlobals *kg, int lamp,
float invarea = data2.x;
if(invarea == 0.0f) {
+#ifdef __LAMP_MIS__
ls->use_mis = false;
+#endif
invarea = 1.0f;
}