diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-04-06 14:24:57 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-04-06 14:24:57 +0400 |
commit | 080c49d176923eb04f66f8e7f8e919f3b10a2fd4 (patch) | |
tree | adf3effe2ff8702be073825ed567caee070dfefe /source/blender/nodes/intern | |
parent | 2275b69ff894c8a7e319d9807da387a2dc4ad169 (diff) |
Fix #21545: geometry node front/back incorrectly depended on camera angle, can
actually be implemented simpler now.
Diffstat (limited to 'source/blender/nodes/intern')
-rw-r--r-- | source/blender/nodes/intern/SHD_nodes/SHD_geom.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_geom.c b/source/blender/nodes/intern/SHD_nodes/SHD_geom.c index ab1bec199f3..aefe7d104b5 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_geom.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_geom.c @@ -54,7 +54,6 @@ static void node_shader_exec_geom(void *data, bNode *node, bNodeStack **in, bNod NodeGeometry *ngeo= (NodeGeometry*)node->storage; ShadeInputUV *suv= &shi->uv[shi->actuv]; static float defaultvcol[4] = {1.0f, 1.0f, 1.0f, 1.0f}; - static float front= 0.0; int i; if(ngeo->uvname[0]) { @@ -109,14 +108,8 @@ static void node_shader_exec_geom(void *data, bNode *node, bNodeStack **in, bNod out[GEOM_OUT_NORMAL]->datatype= NS_OSA_VECTORS; } - /* front/back - * check the original un-flipped normals to determine front or back side */ - if (shi->orignor[2] < FLT_EPSILON) { - front= 1.0f; - } else { - front = 0.0f; - } - out[GEOM_OUT_FRONTBACK]->vec[0]= front; + /* front/back, normal flipping was stored */ + out[GEOM_OUT_FRONTBACK]->vec[0]= (shi->flippednor)? 0.0f: 1.0f; } } |