Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add sign() and log() to vector struct types. #904

Merged
merged 1 commit into from
Jul 26, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/shaders/MaterialX/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,8 @@ make_mx_flavors (
mx_image.mx mx_invert.mx mx_ln.mx mx_max.mx mx_min.mx mx_mix.mx
mx_modulo.mx mx_noise2d.mx mx_noise3d.mx
mx_ramp4.mx mx_ramplr.mx mx_ramptb.mx mx_remap.mx
mx_sin.mx mx_smoothstep.mx mx_splitlr.mx mx_splittb.mx mx_sqrt.mx mx_subtract.mx
mx_sign.mx mx_sin.mx mx_smoothstep.mx mx_splitlr.mx
mx_splittb.mx mx_sqrt.mx mx_subtract.mx
mx_switch.mx mx_swizzle_color.mx mx_swizzle_color2.mx
mx_swizzle_color4.mx mx_swizzle_vector.mx mx_swizzle_vector2.mx
mx_swizzle_vector4.mx mx_tan.mx mx_triplanarprojection.mx
Expand Down
3 changes: 2 additions & 1 deletion src/shaders/MaterialX/build_materialX_osl.py
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,8 @@
'mx_rotate2d': ['vector2'],
'mx_saturate': ['color', 'color4'],
'mx_scale': ['vector', 'vector2'],
'mx_sin': ALL_TYPES,
'mx_sign': ALL_TYPES,
'mx_sin': ALL_TYPES,
'mx_splitlr': ALL_TYPES,
'mx_splittb': ALL_TYPES,
'mx_sqrt' : ALL_TYPES,
Expand Down
6 changes: 3 additions & 3 deletions src/shaders/MaterialX/mx_ln.mx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Open Shading Language : Copyright (c) 2009-2017 Sony Pictures Imageworks Inc., et al.
// https://github.com/imageworks/OpenShadingLanguage/blob/master/LICENSE
//
// MaterialX specification (c) 2017 Lucasfilm Ltd.
//
// MaterialX specification (c) 2017 Lucasfilm Ltd.
// http://www.materialx.org/

#include "mx_funcs.h"
Expand All @@ -13,5 +13,5 @@ shader mx_ln_TYPE_SUFFIX
output TYPE out = TYPE_DEFAULT_OUT
)
{
out = log2(in);
out = log(in);
}
17 changes: 17 additions & 0 deletions src/shaders/MaterialX/mx_sign.mx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// Open Shading Language : Copyright (c) 2009-2017 Sony Pictures Imageworks Inc., et al.
// https://github.com/imageworks/OpenShadingLanguage/blob/master/LICENSE
//
// MaterialX specification (c) 2017 Lucasfilm Ltd.
// http://www.materialx.org/

#include "mx_funcs.h"

shader mx_sign_TYPE_SUFFIX
[[ string help = TYPE_STR" sign(in)" ]]
(
TYPE in = TYPE_DEFAULT_IN,
output TYPE out = TYPE_DEFAULT_OUT
)
{
out = sign(in);
}
11 changes: 11 additions & 0 deletions src/shaders/color2.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,11 @@ color2 exp(color2 a)
return color2(exp(a.r), exp(a.a));
}

color2 log(color2 a)
{
return color2(log(a.r), log(a.a));
}

color2 log2(color2 a)
{
return color2(log2(a.r), log2(a.a));
Expand Down Expand Up @@ -251,6 +256,12 @@ color2 pow(color2 base, float power)
return pow(base, color2(power, power));
}

color2 sign(color2 a)
{
return color2(sign(a.r),
sign(a.a));
}

color2 sin(color2 a)
{
return color2(sin(a.r),
Expand Down
11 changes: 11 additions & 0 deletions src/shaders/color4.h
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,11 @@ color4 exp(color4 a)
return color4(exp(a.rgb), exp(a.a));
}

color4 log(color4 a)
{
return color4(log(a.rgb), log(a.a));
}

color4 log2(color4 a)
{
return color4(log2(a.rgb), log2(a.a));
Expand Down Expand Up @@ -254,6 +259,12 @@ color4 pow(color4 base, float power)
return pow(base, color4(color(power), power));
}

color4 sign(color4 a)
{
return color4(sign(a.rgb),
sign(a.a));
}

color4 sin(color4 a)
{
return color4(sin(a.rgb),
Expand Down
11 changes: 11 additions & 0 deletions src/shaders/vector2.h
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,11 @@ vector2 exp(vector2 a)
return vector2 (exp(a.x), exp(a.y));
}

vector2 log(vector2 a)
{
return vector2 (log(a.x), log(a.y));
}

vector2 log2(vector2 a)
{
return vector2 (log2(a.x), log2(a.y));
Expand Down Expand Up @@ -268,6 +273,12 @@ vector2 pow (vector2 in, float amount)
return pow(in, vector2(amount, amount));
}

vector2 sign(vector2 a)
{
return vector2(sign(a.x),
sign(a.y));
}

vector2 sin(vector2 a)
{
return vector2(sin(a.x),
Expand Down
16 changes: 16 additions & 0 deletions src/shaders/vector4.h
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,14 @@ vector4 exp(vector4 in)
exp(in.w));
}

vector4 log(vector4 in)
{
return vector4 (log(in.x),
log(in.y),
log(in.z),
log(in.w));
}

vector4 log2(vector4 in)
{
return vector4 (log2(in.x),
Expand Down Expand Up @@ -307,6 +315,14 @@ vector4 pow(vector4 in, float amount)
pow(in.w, amount));
}

vector4 sign(vector4 a)
{
return vector4(sign(a.x),
sign(a.y),
sign(a.z),
sign(a.w));
}

vector4 sin(vector4 a)
{
return vector4(sin(a.x),
Expand Down