[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29312] branches/render25/source/blender/ render/intern/source/cache.c: Render Branch: revert last optimization commit, gives problems with

Brecht Van Lommel brecht at blender.org
Mon Jun 7 18:22:19 CEST 2010


Revision: 29312
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29312
Author:   blendix
Date:     2010-06-07 18:22:18 +0200 (Mon, 07 Jun 2010)

Log Message:
-----------
Render Branch: revert last optimization commit, gives problems with
some nested node materials, will fix this properly as part of my
next commit with some deeper changes.

Modified Paths:
--------------
    branches/render25/source/blender/render/intern/source/cache.c

Modified: branches/render25/source/blender/render/intern/source/cache.c
===================================================================
--- branches/render25/source/blender/render/intern/source/cache.c	2010-06-07 15:44:01 UTC (rev 29311)
+++ branches/render25/source/blender/render/intern/source/cache.c	2010-06-07 16:22:18 UTC (rev 29312)
@@ -28,7 +28,6 @@
 
 #include "DNA_material_types.h"
 #include "DNA_meshdata_types.h"
-#include "DNA_node_types.h"
 
 #include "BLI_listbase.h"
 #include "BLI_math.h"
@@ -38,7 +37,6 @@
 
 #include "BKE_DerivedMesh.h"
 #include "BKE_global.h"
-#include "BKE_node.h"
 
 #include "cache.h"
 #include "diskocclusion.h"
@@ -53,43 +51,13 @@
 
 /******************************** Utilities **********************************/
 
-static int mat_sss_need_cache(Render *re, Material *ma);
-
-static int mat_sss_nodes_need_cache(Render *re, bNodeTree *ntree)
-{
-	bNode *node;
-
-	for(node=ntree->nodes.first; node; node= node->next) {
-		if(node->id && GS(node->id->name)==ID_MA) {
-			Material *ma= (Material*)node->id;
-			if(ma && mat_sss_need_cache(re, ma))
-				return 1;
-		}
-		else if(node->type==NODE_GROUP)
-			if(mat_sss_nodes_need_cache(re, (bNodeTree*)node->id))
-				return 1;
-	}
-
-	return 0;
-}
-
-static int mat_sss_need_cache(Render *re, Material *ma)
-{
-	/* if this material only has sss materials that are already done,
-	   we can skip the cache, and only do it in preprocess */
-	if(ma->nodetree && ma->use_nodes)
-		return mat_sss_nodes_need_cache(re, ma->nodetree);
-
-	return !((ma->sss_flag & MA_DIFF_SSS) && sss_pass_done(re, ma));
-}
-
 static int mat_need_cache(Render *re, Material *ma)
 {
 	if(ma->mode & MA_SHLESS)
 		return 0;
 	else if(ma->amb == 0.0f && !(ma->mapto & MAP_AMB))
 		return 0;
-	else if(!mat_sss_need_cache(re, ma))
+	else if((ma->sss_flag & MA_DIFF_SSS) && sss_pass_done(re, ma))
 		return 0;
 	
 	return 1;





More information about the Bf-blender-cvs mailing list