Revision: 35373
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35373
Author: lukastoenne
Date: 2011-03-06 13:11:57 +0000 (Sun, 06 Mar 2011)
Log Message:
-----------
Applied patch by Alexander Kuznetsov for bug 26373: math node 'round' mode was
not working correctly for negative numbers.
Modified Paths:
--------------
trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c
trunk/blender/source/blender/nodes/intern/SHD_nodes/SHD_math.c
trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_math.c
Modified: trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c
2011-03-06 12:13:32 UTC (rev 35372)
+++ trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c
2011-03-06 13:11:57 UTC (rev 35373)
@@ -140,7 +140,7 @@
break;
case 14: /* Round */
{
- out[0]= (int)(in[0] + 0.5f);
+ out[0]= (out[0]<0)?(int)(in[0] -
0.5f):(int)(in[0] + 0.5f);
}
break;
case 15: /* Less Than */
Modified: trunk/blender/source/blender/nodes/intern/SHD_nodes/SHD_math.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/SHD_nodes/SHD_math.c
2011-03-06 12:13:32 UTC (rev 35372)
+++ trunk/blender/source/blender/nodes/intern/SHD_nodes/SHD_math.c
2011-03-06 13:11:57 UTC (rev 35373)
@@ -174,9 +174,9 @@
case 14: /* Round */
{
if(in[0]->hasinput || !in[1]->hasinput) /* This one
only takes one input, so we've got to choose. */
- out[0]->vec[0]= (int)(in[0]->vec[0] + 0.5f);
+ out[0]->vec[0]=
(in[0]->vec[0]<0)?(int)(in[0]->vec[0] - 0.5f):(int)(in[0]->vec[0] + 0.5f);
else
- out[0]->vec[0]= (int)(in[1]->vec[0] + 0.5f);
+ out[0]->vec[0]=
(in[1]->vec[0]<0)?(int)(in[1]->vec[0] - 0.5f):(int)(in[1]->vec[0] + 0.5f);
}
break;
case 15: /* Less Than */
Modified: trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_math.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_math.c
2011-03-06 12:13:32 UTC (rev 35372)
+++ trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_math.c
2011-03-06 13:11:57 UTC (rev 35373)
@@ -151,7 +151,7 @@
break;
case 14: /* Round */
{
- *out= (int)(in0 + 0.5f);
+ *out= (in0<0)?(int)(in0 - 0.5f):(int)(in0 + 0.5f);
}
break;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs