[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