diff options
author | Charlie Jolly <charlie> | 2021-03-23 12:21:56 +0300 |
---|---|---|
committer | Charlie Jolly <mistajolly@gmail.com> | 2021-03-23 12:59:20 +0300 |
commit | d3758892987d76749fdf1211ed27ff77f39b5b3b (patch) | |
tree | 0e0b6b2a614b9829255cae77fb75f93696e7df7b /source/blender/nodes/intern/node_util.c | |
parent | 4c19fcacc0b71271ca2fafc87ef5772a819e7075 (diff) |
Nodes: Add Refract and Faceforward functions to Vector Maths nodes
Cycles, Eevee, OSL, Geo, Attribute
Based on outdated refract patch D6619 by @cubic_sloth
`refract` and `faceforward` are standard functions in GLSL, OSL and Godot shader languages.
Adding these functions provides Blender shader artists access to these standard functions.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D10622
Diffstat (limited to 'source/blender/nodes/intern/node_util.c')
-rw-r--r-- | source/blender/nodes/intern/node_util.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/source/blender/nodes/intern/node_util.c b/source/blender/nodes/intern/node_util.c index c7c3ced4e56..00db819721c 100644 --- a/source/blender/nodes/intern/node_util.c +++ b/source/blender/nodes/intern/node_util.c @@ -90,6 +90,13 @@ void node_sock_label(bNodeSocket *sock, const char *name) BLI_strncpy(sock->label, name, MAX_NAME); } +void node_sock_label_clear(bNodeSocket *sock) +{ + if (sock->label[0] != '\0') { + sock->label[0] = '\0'; + } +} + void node_math_update(bNodeTree *UNUSED(ntree), bNode *node) { bNodeSocket *sock1 = BLI_findlink(&node->inputs, 0); @@ -127,15 +134,9 @@ void node_math_update(bNodeTree *UNUSED(ntree), bNode *node) NODE_MATH_SMOOTH_MIN, NODE_MATH_SMOOTH_MAX)); - if (sock1->label[0] != '\0') { - sock1->label[0] = '\0'; - } - if (sock2->label[0] != '\0') { - sock2->label[0] = '\0'; - } - if (sock3->label[0] != '\0') { - sock3->label[0] = '\0'; - } + node_sock_label_clear(sock1); + node_sock_label_clear(sock2); + node_sock_label_clear(sock3); switch (node->custom1) { case NODE_MATH_WRAP: |