From e5cf20020c413b6ecea555d732b00ae2d8ca97ae Mon Sep 17 00:00:00 2001 From: Lee Kerley Date: Fri, 26 Jan 2024 15:43:54 -0800 Subject: [PATCH] add 'round' node --- .../stdlib/genglsl/stdlib_genglsl_impl.mtlx | 9 +++ .../stdlib/genmdl/stdlib_genmdl_impl.mtlx | 9 +++ .../stdlib/genmsl/stdlib_genmsl_impl.mtlx | 9 +++ libraries/stdlib/genosl/include/color4.h | 5 ++ libraries/stdlib/genosl/include/vector2.h | 5 ++ libraries/stdlib/genosl/include/vector4.h | 8 +++ .../stdlib/genosl/stdlib_genosl_impl.mtlx | 9 +++ libraries/stdlib/stdlib_defs.mtlx | 33 ++++++++++ python/Scripts/genmdl.py | 3 + .../Materials/TestSuite/stdlib/math/math.mtlx | 63 +++++++++++++++++++ .../mdl/materialx/stdlib_1_6.mdl | 20 ++++++ .../mdl/materialx/stdlib_1_8.mdl | 2 + 12 files changed, 175 insertions(+) diff --git a/libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx b/libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx index 70d7674981..243a264763 100644 --- a/libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx +++ b/libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx @@ -302,6 +302,15 @@ + + + + + + + + + diff --git a/libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx b/libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx index 24e6070071..7d80ecb429 100644 --- a/libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx +++ b/libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx @@ -304,6 +304,15 @@ + + + + + + + + + diff --git a/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx b/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx index 2a17cc06fd..e8b6110813 100644 --- a/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx +++ b/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx @@ -302,6 +302,15 @@ + + + + + + + + + diff --git a/libraries/stdlib/genosl/include/color4.h b/libraries/stdlib/genosl/include/color4.h index 78b06b24ec..dcee101258 100644 --- a/libraries/stdlib/genosl/include/color4.h +++ b/libraries/stdlib/genosl/include/color4.h @@ -151,6 +151,11 @@ color4 ceil(color4 a) return color4(ceil(a.rgb), ceil(a.a)); } +color4 round(color4 a) +{ + return color4(round(a.rgb), round(a.a)); +} + color4 floor(color4 a) { return color4(floor(a.rgb), floor(a.a)); diff --git a/libraries/stdlib/genosl/include/vector2.h b/libraries/stdlib/genosl/include/vector2.h index f819dd142f..83fad03456 100644 --- a/libraries/stdlib/genosl/include/vector2.h +++ b/libraries/stdlib/genosl/include/vector2.h @@ -151,6 +151,11 @@ vector2 ceil(vector2 a) return vector2 (ceil(a.x), ceil(a.y)); } +vector2 round(vector2 a) +{ + return vector2 (round(a.x), round(a.y)); +} + vector2 floor(vector2 a) { return vector2 (floor(a.x), floor(a.y)); diff --git a/libraries/stdlib/genosl/include/vector4.h b/libraries/stdlib/genosl/include/vector4.h index 56b64b0c6a..6c8b3996dc 100644 --- a/libraries/stdlib/genosl/include/vector4.h +++ b/libraries/stdlib/genosl/include/vector4.h @@ -160,6 +160,14 @@ vector4 ceil(vector4 in) ceil(in.w)); } +vector4 round(vector4 in) +{ + return vector4 (round(in.x), + round(in.y), + round(in.z), + round(in.w)); +} + vector4 floor(vector4 in) { return vector4 (floor(in.x), diff --git a/libraries/stdlib/genosl/stdlib_genosl_impl.mtlx b/libraries/stdlib/genosl/stdlib_genosl_impl.mtlx index 177b28cfab..c916eb3052 100644 --- a/libraries/stdlib/genosl/stdlib_genosl_impl.mtlx +++ b/libraries/stdlib/genosl/stdlib_genosl_impl.mtlx @@ -304,6 +304,15 @@ + + + + + + + + + diff --git a/libraries/stdlib/stdlib_defs.mtlx b/libraries/stdlib/stdlib_defs.mtlx index fefbf70713..38c57a0f31 100644 --- a/libraries/stdlib/stdlib_defs.mtlx +++ b/libraries/stdlib/stdlib_defs.mtlx @@ -1914,6 +1914,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +