[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35373] trunk/blender/source/blender/nodes /intern: Applied patch by Alexander Kuznetsov for bug 26373: math node ' round' mode was not working correctly for negative numbers.
Lukas Toenne
lukas.toenne at googlemail.com
Sun Mar 6 14:11:58 CET 2011
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;
More information about the Bf-blender-cvs
mailing list