[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36861] trunk/blender/source/blender/ modifiers/intern/MOD_displace.c: clamp delta to prevent cases where strength is a huge number.

Nathan Letwory nathan at letworyinteractive.com
Tue May 24 13:20:33 CEST 2011


Revision: 36861
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36861
Author:   jesterking
Date:     2011-05-24 11:20:33 +0000 (Tue, 24 May 2011)
Log Message:
-----------
clamp delta to prevent cases where strength is a huge number. Very high values would lead to scale problems of objects.

Modified Paths:
--------------
    trunk/blender/source/blender/modifiers/intern/MOD_displace.c

Modified: trunk/blender/source/blender/modifiers/intern/MOD_displace.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_displace.c	2011-05-24 11:19:11 UTC (rev 36860)
+++ trunk/blender/source/blender/modifiers/intern/MOD_displace.c	2011-05-24 11:20:33 UTC (rev 36861)
@@ -210,6 +210,7 @@
 		if(def_weight) strength *= def_weight->weight;
 
 		delta *= strength;
+		CLAMP(delta, -10000, 10000);
 
 		switch(dmd->direction) {
 			case MOD_DISP_DIR_X:
@@ -227,9 +228,9 @@
 				vertexCos[i][2] += (texres.tb - dmd->midlevel) * strength;
 				break;
 			case MOD_DISP_DIR_NOR:
-				vertexCos[i][0] += delta * mvert[i].no[0] / 32767.0f;
-				vertexCos[i][1] += delta * mvert[i].no[1] / 32767.0f;
-				vertexCos[i][2] += delta * mvert[i].no[2] / 32767.0f;
+				vertexCos[i][0] += delta * (mvert[i].no[0] / 32767.0f);
+				vertexCos[i][1] += delta * (mvert[i].no[1] / 32767.0f);
+				vertexCos[i][2] += delta * (mvert[i].no[2] / 32767.0f);
 				break;
 		}
 	}




More information about the Bf-blender-cvs mailing list