[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27343] trunk/blender/source/blender: * Fix for crash using texture nodes in displace modifier

Matt Ebb matt at mke3.net
Tue Mar 9 01:35:05 CET 2010


Revision: 27343
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27343
Author:   broken
Date:     2010-03-09 01:35:05 +0100 (Tue, 09 Mar 2010)

Log Message:
-----------
* Fix for crash using texture nodes in displace modifier

Modifier code was asking for filtered textures without sending derivatives. 
Disabled this and also checks for filtered/non-filtered.

Brecht, I assumed this was ok due to the existence of the p->osatex variable 
- if this isn't what you had in mind, please change or let me know :)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/modifier.c
    trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c
    trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_scale.c

Modified: trunk/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifier.c	2010-03-08 23:34:38 UTC (rev 27342)
+++ trunk/blender/source/blender/blenkernel/intern/modifier.c	2010-03-09 00:35:05 UTC (rev 27343)
@@ -3508,8 +3508,7 @@
 {
 	int result_type;
 
-	result_type = multitex_ext(texture, tex_co, NULL,
-				   NULL, 1, texres);
+	result_type = multitex_ext(texture, tex_co, NULL, NULL, 0, texres);
 
 	/* if the texture gave an RGB value, we assume it didn't give a valid
 	* intensity, so calculate one (formula from do_material_tex).

Modified: trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c	2010-03-08 23:34:38 UTC (rev 27342)
+++ trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c	2010-03-09 00:35:05 UTC (rev 27343)
@@ -72,8 +72,10 @@
 	tex_input_vec(ax, in[2], p, thread);
 
 	rotate(new_co, a, ax, p->co);
-	rotate(new_dxt, a, ax, p->dxt);
-	rotate(new_dyt, a, ax, p->dyt);
+	if (p->osatex) {
+		rotate(new_dxt, a, ax, p->dxt);
+		rotate(new_dyt, a, ax, p->dyt);
+	}
 	
 	{
 		TexParams np = *p;

Modified: trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_scale.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_scale.c	2010-03-08 23:34:38 UTC (rev 27342)
+++ trunk/blender/source/blender/nodes/intern/TEX_nodes/TEX_scale.c	2010-03-09 00:35:05 UTC (rev 27343)
@@ -52,8 +52,10 @@
 	tex_input_vec(scale, in[1], p, thread);
 
 	mul_v3_v3v3(new_co, p->co, scale);
-	mul_v3_v3v3(new_dxt, p->dxt, scale);
-	mul_v3_v3v3(new_dyt, p->dyt, scale);
+	if (p->osatex) {
+		mul_v3_v3v3(new_dxt, p->dxt, scale);
+		mul_v3_v3v3(new_dyt, p->dyt, scale);
+	}
 	
 	tex_input_rgba(out, in[0], &np, thread);
 }





More information about the Bf-blender-cvs mailing list