[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25232] trunk/blender/source/blender: Fix for [#20197] dof node bugs

Matt Ebb matt at mke3.net
Wed Dec 9 03:55:30 CET 2009


Revision: 25232
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25232
Author:   broken
Date:     2009-12-09 03:55:19 +0100 (Wed, 09 Dec 2009)

Log Message:
-----------
Fix for [#20197] dof node bugs

This is still a bit dodgy, the issue of accessing scene data from nodes needs to be solved better, but this at least fixes it up to previous capabilities, and prevents writing any data to scene/objects either.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/object.c
    trunk/blender/source/blender/editors/space_node/node_edit.c

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c	2009-12-09 01:53:51 UTC (rev 25231)
+++ trunk/blender/source/blender/blenkernel/intern/object.c	2009-12-09 02:55:19 UTC (rev 25232)
@@ -741,12 +741,12 @@
 	if (cam->dof_ob) {	
 		/* too simple, better to return the distance on the view axis only
 		 * return len_v3v3(ob->obmat[3], cam->dof_ob->obmat[3]); */
-		float mat[4][4], obmat[4][4];
+		float mat[4][4], imat[4][4], obmat[4][4];
 		
 		copy_m4_m4(obmat, ob->obmat);
 		normalize_m4(obmat);
-		invert_m4_m4(ob->imat, obmat);
-		mul_m4_m4m4(mat, cam->dof_ob->obmat, ob->imat);
+		invert_m4_m4(imat, obmat);
+		mul_m4_m4m4(mat, cam->dof_ob->obmat, imat);
 		return (float)fabs(mat[3][2]);
 	}
 	return cam->YF_dofdist;

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2009-12-09 01:53:51 UTC (rev 25231)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2009-12-09 02:55:19 UTC (rev 25232)
@@ -1471,7 +1471,7 @@
 		node_set_active(snode, node);
 		
 		if(snode->nodetree->type==NTREE_COMPOSIT) {
-			if(ELEM(node->type, CMP_NODE_R_LAYERS, CMP_NODE_COMPOSITE))
+			if(ELEM3(node->type, CMP_NODE_R_LAYERS, CMP_NODE_COMPOSITE, CMP_NODE_DEFOCUS))
 				node->id = &scene->id;
 			
 			ntreeCompositForceHidden(snode->edittree, scene);





More information about the Bf-blender-cvs mailing list