[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29472] branches/render25/source/blender/ render/intern/source/rendercore.c: Render Branch: small optimization to avoid calling material_in_material

Brecht Van Lommel brecht at blender.org
Tue Jun 15 20:12:36 CEST 2010


Revision: 29472
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29472
Author:   blendix
Date:     2010-06-15 20:12:36 +0200 (Tue, 15 Jun 2010)

Log Message:
-----------
Render Branch: small optimization to avoid calling material_in_material
too much in sss preprocessing pass.

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

Modified: branches/render25/source/blender/render/intern/source/rendercore.c
===================================================================
--- branches/render25/source/blender/render/intern/source/rendercore.c	2010-06-15 18:11:52 UTC (rev 29471)
+++ branches/render25/source/blender/render/intern/source/rendercore.c	2010-06-15 18:12:36 UTC (rev 29472)
@@ -1051,6 +1051,7 @@
 	ObjectRen *obr;
 	VlakRen *vlr;
 	RenderLayer *rl;
+	Material *vlr_ma= NULL;
 	int v;
 
 	/* we use as layer the combined layer flags of all render layers that
@@ -1061,9 +1062,12 @@
 		for(v=0; v<obr->totvlak; v++) {
 			if((v & 255)==0) vlr= obr->vlaknodes[v>>8].vlak;
 			else vlr++;
-			
-			if(material_in_material(vlr->mat, ma))
-				break;
+
+			if(vlr->mat!=vlr_ma) {
+				vlr_ma= vlr->mat;
+				if(material_in_material(vlr_ma, ma))
+					break;
+			}
 		}
 
 		if(v != obr->totvlak) {





More information about the Bf-blender-cvs mailing list