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@pandora.be>2013-05-04 01:34:51 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-05-04 01:34:51 +0400
commit838949c3e76eb140bb0f776fbbd0fd61fac08f49 (patch)
tree5f59c6410a1ad65d9dee684368676f499907cf65 /intern/cycles/kernel/kernel_differential.h
parent879859e0cc4e0176e1a054fa63e94c3e506a0a7c (diff)
Fix #35207: addition to previous fix to avoid OSL getting uninitialized
ray differentials for lighting, which could cause bad texture filtering artifacts or performance.
Diffstat (limited to 'intern/cycles/kernel/kernel_differential.h')
-rw-r--r--intern/cycles/kernel/kernel_differential.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/intern/cycles/kernel/kernel_differential.h b/intern/cycles/kernel/kernel_differential.h
index 2190e04e231..c5332786f8b 100644
--- a/intern/cycles/kernel/kernel_differential.h
+++ b/intern/cycles/kernel/kernel_differential.h
@@ -86,5 +86,23 @@ __device void differential_dudv(differential *du, differential *dv, float3 dPdu,
dv->dy = (dP.dy.y*dPdu.x - dP.dy.x*dPdu.y)*det;
}
+__device differential differential_zero()
+{
+ differential d;
+ d.dx = 0.0f;
+ d.dy = 0.0f;
+
+ return d;
+}
+
+__device differential3 differential3_zero()
+{
+ differential3 d;
+ d.dx = make_float3(0.0f, 0.0f, 0.0f);
+ d.dy = make_float3(0.0f, 0.0f, 0.0f);
+
+ return d;
+}
+
CCL_NAMESPACE_END