[Bf-blender-cvs] [28d5f2a] master: Cycles: Update stdosl.h to OSL 1.4.0. (includes new aastep functions).

Thomas Dinges noreply at git.blender.org
Sun Dec 8 12:20:39 CET 2013


Commit: 28d5f2ab6054c26865c655bb1f82534b83c773ce
Author: Thomas Dinges
Date:   Sun Dec 8 12:20:15 2013 +0100
http://developer.blender.org/rB28d5f2ab6054c26865c655bb1f82534b83c773ce

Cycles: Update stdosl.h to OSL 1.4.0. (includes new aastep functions).

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

M	intern/cycles/kernel/shaders/stdosl.h

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

diff --git a/intern/cycles/kernel/shaders/stdosl.h b/intern/cycles/kernel/shaders/stdosl.h
index 47c5dc2..d1d1222 100644
--- a/intern/cycles/kernel/shaders/stdosl.h
+++ b/intern/cycles/kernel/shaders/stdosl.h
@@ -412,13 +412,27 @@ matrix transpose (matrix m) BUILTIN;
 
 // Pattern generation
 
-float step (float edge, float x) BUILTIN;
 color step (color edge, color x) BUILTIN;
 point step (point edge, point x) BUILTIN;
 vector step (vector edge, vector x) BUILTIN;
 normal step (normal edge, normal x) BUILTIN;
+float step (float edge, float x) BUILTIN;
 float smoothstep (float edge0, float edge1, float x) BUILTIN;
 
+float aastep (float edge, float s, float dedge, float ds) {
+    // Box filtered AA step
+    float width = fabs(dedge) + fabs(ds);
+    float halfwidth = 0.5*width;
+    float e1 = edge-halfwidth;
+    return (s <= e1) ? 0.0 : ((s >= (edge+halfwidth)) ? 1.0 : (s-e1)/width);
+}
+float aastep (float edge, float s, float ds) {
+    return aastep (edge, s, filterwidth(edge), ds);
+}
+float aastep (float edge, float s) {
+    return aastep (edge, s, filterwidth(edge), filterwidth(s));
+}
+
 
 // Derivatives and area operators




More information about the Bf-blender-cvs mailing list