[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54559] trunk/blender/source/blender: Divide by 3 instead of multiplying by variations of 0.333

Sergej Reich sergej.reich at googlemail.com
Thu Feb 14 18:35:43 CET 2013


Revision: 54559
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54559
Author:   sergof
Date:     2013-02-14 17:35:43 +0000 (Thu, 14 Feb 2013)
Log Message:
-----------
Divide by 3 instead of multiplying by variations of 0.333

Fixes small precision problems.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/effect.c
    trunk/blender/source/blender/blenkernel/intern/lattice.c
    trunk/blender/source/blender/blenkernel/intern/object.c
    trunk/blender/source/blender/blenkernel/intern/particle_system.c
    trunk/blender/source/blender/blenlib/intern/math_geom.c
    trunk/blender/source/blender/editors/interface/interface_panel.c
    trunk/blender/source/blender/editors/physics/particle_edit.c
    trunk/blender/source/blender/modifiers/intern/MOD_explode.c
    trunk/blender/source/blender/nodes/shader/node_shader_util.c
    trunk/blender/source/blender/render/intern/source/render_texture.c
    trunk/blender/source/blender/render/intern/source/voxeldata.c

Modified: trunk/blender/source/blender/blenkernel/intern/effect.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/effect.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/blenkernel/intern/effect.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -562,7 +562,7 @@
 			if (mface->v4)
 				add_v3_v3(surface_vel, surmd->v[mface->v4].co);
 
-			mul_v3_fl(surface_vel, mface->v4 ? 0.25f : 0.333f);
+			mul_v3_fl(surface_vel, mface->v4 ? 0.25f : (1.0f / 3.0f));
 		}
 		return 1;
 	}

Modified: trunk/blender/source/blender/blenkernel/intern/lattice.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/lattice.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/blenkernel/intern/lattice.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -912,7 +912,7 @@
 						bp->vec[1] += (1.0f - fac1) * bp1->vec[1] + fac1 * bp2->vec[1];
 						bp->vec[2] += (1.0f - fac1) * bp1->vec[2] + fac1 * bp2->vec[2];
 						
-						mul_v3_fl(bp->vec, 0.3333333f);
+						mul_v3_fl(bp->vec, 1.0f / 3.0f);
 						
 					}
 				}

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/blenkernel/intern/object.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -2013,7 +2013,7 @@
 		else {
 			add_v3_v3v3(mat[3], v1, v2);
 			add_v3_v3(mat[3], v3);
-			mul_v3_fl(mat[3], 0.3333333f);
+			mul_v3_fl(mat[3], 1.0f / 3.0f);
 		}
 	}
 }

Modified: trunk/blender/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle_system.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/blenkernel/intern/particle_system.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -802,7 +802,7 @@
 				if (mface->v4)
 					psys_uv_to_w(0.5f, 0.5f, mface->v4, pa->fuv);
 				else
-					psys_uv_to_w(0.33333f, 0.33333f, mface->v4, pa->fuv);
+					psys_uv_to_w(1.0f / 3.0f, 1.0f / 3.0f, mface->v4, pa->fuv);
 			}
 			else {
 				ctx->jitoff[i] = fmod(ctx->jitoff[i],(float)ctx->jitlevel);

Modified: trunk/blender/source/blender/blenlib/intern/math_geom.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/math_geom.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/blenlib/intern/math_geom.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -39,9 +39,9 @@
 
 void cent_tri_v3(float cent[3], const float v1[3], const float v2[3], const float v3[3])
 {
-	cent[0] = 0.33333f * (v1[0] + v2[0] + v3[0]);
-	cent[1] = 0.33333f * (v1[1] + v2[1] + v3[1]);
-	cent[2] = 0.33333f * (v1[2] + v2[2] + v3[2]);
+	cent[0] = (v1[0] + v2[0] + v3[0]) / 3.0f;
+	cent[1] = (v1[1] + v2[1] + v3[1]) / 3.0f;
+	cent[2] = (v1[2] + v2[2] + v3[2]) / 3.0f;
 }
 
 void cent_quad_v3(float cent[3], const float v1[3], const float v2[3], const float v3[3], const float v4[3])

Modified: trunk/blender/source/blender/editors/interface/interface_panel.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_panel.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/editors/interface/interface_panel.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -447,8 +447,8 @@
 	ymin = rect->ymin;
 	ymax = rect->ymax;
 	
-	dx = 0.333f * (xmax - xmin);
-	dy = 0.333f * (ymax - ymin);
+	dx = (xmax - xmin) / 3.0f;
+	dy = (ymax - ymin) / 3.0f;
 	
 	glEnable(GL_BLEND);
 	glColor4ub(255, 255, 255, 50);

Modified: trunk/blender/source/blender/editors/physics/particle_edit.c
===================================================================
--- trunk/blender/source/blender/editors/physics/particle_edit.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/editors/physics/particle_edit.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -1112,7 +1112,7 @@
 			mul_v3_fl(vec, 0.25);
 		}
 		else
-			mul_v3_fl(vec, 0.3333f);
+			mul_v3_fl(vec, 1.0f / 3.0f);
 
 		normalize_v3(nor);
 

Modified: trunk/blender/source/blender/modifiers/intern/MOD_explode.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_explode.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/modifiers/intern/MOD_explode.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -161,7 +161,7 @@
 			mul_v3_fl(center, 0.25);
 		}
 		else
-			mul_v3_fl(center, 0.3333f);
+			mul_v3_fl(center, 1.0f / 3.0f);
 
 		p = BLI_kdtree_find_nearest(tree, center, NULL, NULL);
 

Modified: trunk/blender/source/blender/nodes/shader/node_shader_util.c
===================================================================
--- trunk/blender/source/blender/nodes/shader/node_shader_util.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/nodes/shader/node_shader_util.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -46,7 +46,7 @@
 		if (ns->sockettype==SOCK_FLOAT)
 			*in= *from;
 		else 
-			*in= 0.333333f*(from[0]+from[1]+from[2]);
+			*in= (from[0]+from[1]+from[2]) / 3.0f;
 	}
 	else if (type_in==SOCK_VECTOR) {
 		if (ns->sockettype==SOCK_FLOAT) {

Modified: trunk/blender/source/blender/render/intern/source/render_texture.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/render_texture.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/render/intern/source/render_texture.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -171,9 +171,9 @@
 			do_colorband(tex->coba, texres->nor[2], col);
 			fac3= (col[0]+col[1]+col[2]);
 			
-			texres->nor[0]= 0.3333f*(fac0 - fac1);
-			texres->nor[1]= 0.3333f*(fac0 - fac2);
-			texres->nor[2]= 0.3333f*(fac0 - fac3);
+			texres->nor[0]= (fac0 - fac1) / 3.0f;
+			texres->nor[1]= (fac0 - fac2) / 3.0f;
+			texres->nor[2]= (fac0 - fac3) / 3.0f;
 			
 			return;
 		}
@@ -1754,7 +1754,7 @@
 	/* center, main return value */
 	texco_mapping(shi, tex, mtex, co, dx, dy, texvec, dxt, dyt);
 	rgbnor = multitex_mtex(shi, mtex, texvec, dxt, dyt, texres, pool);
-	cd = fromrgb ? (texres->tr + texres->tg + texres->tb)*0.33333333f : texres->tin;
+	cd = fromrgb ? (texres->tr + texres->tg + texres->tb) / 3.0f : texres->tin;
 
 	if (mtex->texco == TEXCO_UV) {
 		/* for the uv case, use the same value for both du/dv,
@@ -1768,7 +1768,7 @@
 		tco[2] = 0.f;
 		texco_mapping(shi, tex, mtex, tco, dx, dy, texv, dxt, dyt);
 		multitex_mtex(shi, mtex, texv, dxt, dyt, &ttexr, pool);
-		ud = idu*(cd - (fromrgb ? (ttexr.tr + ttexr.tg + ttexr.tb)*0.33333333f : ttexr.tin));
+		ud = idu*(cd - (fromrgb ? (ttexr.tr + ttexr.tg + ttexr.tb) / 3.0f : ttexr.tin));
 
 		/* +v val */
 		tco[0] = co[0] + compat_bump->dudnv*du;
@@ -1776,7 +1776,7 @@
 		tco[2] = 0.f;
 		texco_mapping(shi, tex, mtex, tco, dx, dy, texv, dxt, dyt);
 		multitex_mtex(shi, mtex, texv, dxt, dyt, &ttexr, pool);
-		vd = idu*(cd - (fromrgb ? (ttexr.tr + ttexr.tg + ttexr.tb)*0.33333333f : ttexr.tin));
+		vd = idu*(cd - (fromrgb ? (ttexr.tr + ttexr.tg + ttexr.tb) / 3.0f : ttexr.tin));
 	}
 	else {
 		float tu[3], tv[3];
@@ -1810,7 +1810,7 @@
 		tco[2] = co[2] + tu[2]*du;
 		texco_mapping(shi, tex, mtex, tco, dx, dy, texv, dxt, dyt);
 		multitex_mtex(shi, mtex, texv, dxt, dyt, &ttexr, pool);
-		ud = idu*(cd - (fromrgb ? (ttexr.tr + ttexr.tg + ttexr.tb)*0.33333333f : ttexr.tin));
+		ud = idu*(cd - (fromrgb ? (ttexr.tr + ttexr.tg + ttexr.tb) / 3.0f : ttexr.tin));
 
 		/* +v val */
 		tco[0] = co[0] + tv[0]*dv;
@@ -1818,7 +1818,7 @@
 		tco[2] = co[2] + tv[2]*dv;
 		texco_mapping(shi, tex, mtex, tco, dx, dy, texv, dxt, dyt);
 		multitex_mtex(shi, mtex, texv, dxt, dyt, &ttexr, pool);
-		vd = idv*(cd - (fromrgb ? (ttexr.tr + ttexr.tg + ttexr.tb)*0.33333333f : ttexr.tin));
+		vd = idv*(cd - (fromrgb ? (ttexr.tr + ttexr.tg + ttexr.tb) / 3.0f : ttexr.tin));
 	}
 
 	/* bumped normal */

Modified: trunk/blender/source/blender/render/intern/source/voxeldata.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/voxeldata.c	2013-02-14 17:09:19 UTC (rev 54558)
+++ trunk/blender/source/blender/render/intern/source/voxeldata.c	2013-02-14 17:35:43 UTC (rev 54559)
@@ -185,7 +185,7 @@
 		for (y = 0; y < ibuf->y; y++) {
 			for (x = 0; x < ibuf->x; x++) {
 				/* currently averaged to monchrome */
-				vd->dataset[BLI_VOXEL_INDEX(x, y, z, vd->resol)] = (rf[0] + rf[1] + rf[2]) * 0.333f;
+				vd->dataset[BLI_VOXEL_INDEX(x, y, z, vd->resol)] = (rf[0] + rf[1] + rf[2]) / 3.0f;
 				rf += 4;
 			}
 		}




More information about the Bf-blender-cvs mailing list