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

This commit is contained in:
Thomas Dinges 2013-12-08 12:20:15 +01:00
parent 2069606dc5
commit 28d5f2ab60
1 changed files with 15 additions and 1 deletions

View File

@ -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