[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24293] trunk/blender/source/blender/ blenkernel/intern/modifier.c: Fix for [#19745] displacement modifier is messing up texture coordinates when using an object for texture coordinates

Matt Ebb matt at mke3.net
Wed Nov 4 06:31:42 CET 2009


Revision: 24293
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24293
Author:   broken
Date:     2009-11-04 06:31:42 +0100 (Wed, 04 Nov 2009)

Log Message:
-----------
Fix for [#19745] displacement modifier is messing up texture coordinates when using an object for texture coordinates

Modifier was resetting object's imat to worldspace during render process, where it is assumed to be in camera space.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/modifier.c

Modified: trunk/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifier.c	2009-11-04 04:13:30 UTC (rev 24292)
+++ trunk/blender/source/blender/blenkernel/intern/modifier.c	2009-11-04 05:31:42 UTC (rev 24293)
@@ -3577,10 +3577,11 @@
 {
 	int i;
 	int texmapping = dmd->texmapping;
+	float mapob_imat[4][4];
 
 	if(texmapping == MOD_DISP_MAP_OBJECT) {
 		if(dmd->map_object)
-			Mat4Invert(dmd->map_object->imat, dmd->map_object->obmat);
+			Mat4Invert(mapob_imat, dmd->map_object->obmat);
 		else /* if there is no map object, default to local */
 			texmapping = MOD_DISP_MAP_LOCAL;
 	}
@@ -3651,7 +3652,7 @@
 			case MOD_DISP_MAP_OBJECT:
 				VECCOPY(*texco, *co);
 				Mat4MulVecfl(ob->obmat, *texco);
-				Mat4MulVecfl(dmd->map_object->imat, *texco);
+				Mat4MulVecfl(mapob_imat, *texco);
 				break;
 		}
 	}





More information about the Bf-blender-cvs mailing list