diff options
author | Charlie Jolly <mistajolly@gmail.com> | 2018-07-13 00:40:18 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-07-13 12:00:10 +0300 |
commit | 30bffb5a3afa2fde165d4fb63a115310d5ddc3e3 (patch) | |
tree | 543109969a99e176340071dfdf85a87594f0db07 /source/blender/nodes/texture | |
parent | f4213c1408619d1071004247ed099e2ba98a3e9a (diff) |
Nodes: add sqrt, ceil, floor and fract to math nodes.
This works for Cycles, Eevee, texture nodes and compositing. It helps to
reduce the number of math nodes required in various node setups.
Differential Revision: https://developer.blender.org/D3537
Diffstat (limited to 'source/blender/nodes/texture')
-rw-r--r-- | source/blender/nodes/texture/nodes/node_texture_math.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/source/blender/nodes/texture/nodes/node_texture_math.c b/source/blender/nodes/texture/nodes/node_texture_math.c index d8dc2a62625..f786a293080 100644 --- a/source/blender/nodes/texture/nodes/node_texture_math.c +++ b/source/blender/nodes/texture/nodes/node_texture_math.c @@ -195,6 +195,33 @@ static void valuefn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor break; } + case NODE_MATH_FLOOR: + { + *out = floorf(in0); + break; + } + + case NODE_MATH_CEIL: + { + *out = ceilf(in0); + break; + } + + case NODE_MATH_FRACT: + { + *out = in0 - floorf(in0); + break; + } + + case NODE_MATH_SQRT: + { + if (in0 > 0.0f) + *out = sqrtf(in0); + else + *out = 0.0f; + break; + } + default: { BLI_assert(0); |