[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