[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13603] trunk/blender/source/blender/ render/intern/source/convertblender.c:

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Feb 7 17:29:08 CET 2008


Revision: 13603
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13603
Author:   blendix
Date:     2008-02-07 17:29:08 +0100 (Thu, 07 Feb 2008)

Log Message:
-----------

Small render engine optimization: don't create objects in prev/next
frames if they are not part of a renderlayer that has a vector pass.

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/source/convertblender.c

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2008-02-07 12:14:58 UTC (rev 13602)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2008-02-07 16:29:08 UTC (rev 13603)
@@ -4294,13 +4294,26 @@
 		dupli_render_particle_set(re, go->ob, timeoffset, level+1, enable);
 }
 
-static void database_init_objects(Render *re, unsigned int lay, int nolamps, int onlyselected, Object *actob, int timeoffset)
+static int get_vector_renderlayers(Scene *sce)
 {
+	SceneRenderLayer *srl;
+	int lay= 0;
+
+    for(srl= sce->r.layers.first; srl; srl= srl->next)
+		if(srl->passflag & SCE_PASS_VECTOR)
+			lay |= srl->lay;
+
+	return lay;
+}
+
+static void database_init_objects(Render *re, unsigned int renderlay, int nolamps, int onlyselected, Object *actob, int timeoffset)
+{
 	Base *base;
 	Object *ob;
 	ObjectInstanceRen *obi;
 	Scene *sce;
 	float mat[4][4];
+	int lay;
 
 	for(SETLOOPER(re->scene, base)) {
 		ob= base->object;
@@ -4315,6 +4328,11 @@
 	for(SETLOOPER(re->scene, base)) {
 		ob= base->object;
 
+		if(timeoffset)
+			lay= renderlay & get_vector_renderlayers(sce);
+		else
+			lay= renderlay;
+
 		/* if the object has been restricted from rendering in the outliner, ignore it */
 		if(ob->restrictflag & OB_RESTRICT_RENDER) continue;
 





More information about the Bf-blender-cvs mailing list