[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13488] trunk/blender/source/blender: Fixes in reading back rendered temp files ("Save buffers" and "FSA" options).

Ton Roosendaal ton at blender.org
Wed Jan 30 22:14:41 CET 2008


Revision: 13488
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13488
Author:   ton
Date:     2008-01-30 22:14:36 +0100 (Wed, 30 Jan 2008)

Log Message:
-----------
Fixes in reading back rendered temp files ("Save buffers" and "FSA" options).

Press Rkey in compositor for reading back render results and invoke a compo.
This now correctly reads AO (skipped it sometimes) and it makes a correct
composite.

FSA todo:
- hotkey + button for reading all samples back + composite
- solve black border around image

Modified Paths:
--------------
    trunk/blender/source/blender/imbuf/intern/openexr/openexr_api.cpp
    trunk/blender/source/blender/render/intern/source/pipeline.c
    trunk/blender/source/blender/src/editnode.c

Modified: trunk/blender/source/blender/imbuf/intern/openexr/openexr_api.cpp
===================================================================
--- trunk/blender/source/blender/imbuf/intern/openexr/openexr_api.cpp	2008-01-30 20:19:40 UTC (rev 13487)
+++ trunk/blender/source/blender/imbuf/intern/openexr/openexr_api.cpp	2008-01-30 21:14:36 UTC (rev 13488)
@@ -478,7 +478,7 @@
 {
 	ExrHandle *data= (ExrHandle *)handle;
 	
-	if(BLI_exists(filename)) {
+	if(BLI_exists(filename) && BLI_filepathsize(filename)>32) {	/* 32 is arbitrary, but zero length files crashes exr */
 		data->ifile = new InputFile(filename);
 		if(data->ifile) {
 			Box2i dw = data->ifile->header().dataWindow();

Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c	2008-01-30 20:19:40 UTC (rev 13487)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c	2008-01-30 21:14:36 UTC (rev 13488)
@@ -562,23 +562,16 @@
 			render_layer_add_pass(rr, rl, 3, SCE_PASS_DIFFUSE);
 		if(srl->passflag  & SCE_PASS_SPEC)
 			render_layer_add_pass(rr, rl, 3, SCE_PASS_SPEC);
-		if(re->r.mode & R_SHADOW)
-			if(srl->passflag  & SCE_PASS_SHADOW)
-				render_layer_add_pass(rr, rl, 3, SCE_PASS_SHADOW);
-		if(re->r.mode & R_RAYTRACE) {
-			if(srl->passflag  & SCE_PASS_AO)
-				render_layer_add_pass(rr, rl, 3, SCE_PASS_AO);
-			if(srl->passflag  & SCE_PASS_REFLECT)
-				render_layer_add_pass(rr, rl, 3, SCE_PASS_REFLECT);
-			if(srl->passflag  & SCE_PASS_REFRACT)
-				render_layer_add_pass(rr, rl, 3, SCE_PASS_REFRACT);
-		}
-		else if(re->wrld.mode & WO_AMB_OCC)
-			if(re->wrld.ao_gather_method == WO_AOGATHER_APPROX)
-				render_layer_add_pass(rr, rl, 3, SCE_PASS_AO);
-		if(re->r.mode & R_RADIO)
-			if(srl->passflag  & SCE_PASS_RADIO)
-				render_layer_add_pass(rr, rl, 3, SCE_PASS_RADIO);
+		if(srl->passflag  & SCE_PASS_AO)
+			render_layer_add_pass(rr, rl, 3, SCE_PASS_AO);
+		if(srl->passflag  & SCE_PASS_SHADOW)
+			render_layer_add_pass(rr, rl, 3, SCE_PASS_SHADOW);
+		if(srl->passflag  & SCE_PASS_REFLECT)
+			render_layer_add_pass(rr, rl, 3, SCE_PASS_REFLECT);
+		if(srl->passflag  & SCE_PASS_REFRACT)
+			render_layer_add_pass(rr, rl, 3, SCE_PASS_REFRACT);
+		if(srl->passflag  & SCE_PASS_RADIO)
+			render_layer_add_pass(rr, rl, 3, SCE_PASS_RADIO);
 		if(srl->passflag  & SCE_PASS_INDEXOB)
 			render_layer_add_pass(rr, rl, 1, SCE_PASS_INDEXOB);
 		if(srl->passflag  & SCE_PASS_MIST)

Modified: trunk/blender/source/blender/src/editnode.c
===================================================================
--- trunk/blender/source/blender/src/editnode.c	2008-01-30 20:19:40 UTC (rev 13487)
+++ trunk/blender/source/blender/src/editnode.c	2008-01-30 21:14:36 UTC (rev 13488)
@@ -2005,6 +2005,10 @@
 		}
 	}
 	
+	/* own render result should be read/allocated */
+	if(G.scene->id.flag & LIB_DOIT)
+		RE_ReadRenderResult(G.scene, G.scene);
+	
 	snode_handle_recalc(snode);
 }
 





More information about the Bf-blender-cvs mailing list