[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52668] trunk/blender/source/blender/ editors/render: Fix render from local view 3d viewport not using lamps in render.

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Nov 29 20:04:34 CET 2012


Revision: 52668
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52668
Author:   blendix
Date:     2012-11-29 19:04:33 +0000 (Thu, 29 Nov 2012)
Log Message:
-----------
Fix render from local view 3d viewport not using lamps in render.
Fix missing GLSL updates for objects without materials.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/render/render_internal.c
    trunk/blender/source/blender/editors/render/render_update.c

Modified: trunk/blender/source/blender/editors/render/render_internal.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_internal.c	2012-11-29 16:36:16 UTC (rev 52667)
+++ trunk/blender/source/blender/editors/render/render_internal.c	2012-11-29 19:04:33 UTC (rev 52668)
@@ -553,13 +553,20 @@
 	rj->win = CTX_wm_window(C);
 	rj->srl = srl;
 	rj->camera_override = camera_override;
-	rj->lay = (v3d) ? v3d->lay : scene->lay;
+	rj->lay = scene->lay;
 	rj->anim = is_animation;
 	rj->write_still = is_write_still && !is_animation;
 	rj->iuser.scene = scene;
 	rj->iuser.ok = 1;
 	rj->reports = op->reports;
 
+	if(v3d) {
+		rj->lay = v3d->lay;
+
+		if(v3d->localvd)
+			rj->lay |= v3d->localvd->lay;
+	}
+
 	/* setup job */
 	if (RE_seq_render_active(scene, &scene->r)) name = "Sequence Render";
 	else name = "Render";
@@ -611,6 +618,8 @@
 /* contextual render, using current scene, view3d? */
 void RENDER_OT_render(wmOperatorType *ot)
 {
+	PropertyRNA *prop;
+
 	/* identifiers */
 	ot->name = "Render";
 	ot->description = "Render active scene";
@@ -625,7 +634,9 @@
 
 	RNA_def_boolean(ot->srna, "animation", 0, "Animation", "Render files from the animation range of this scene");
 	RNA_def_boolean(ot->srna, "write_still", 0, "Write Image", "Save rendered the image to the output path (used only when animation is disabled)");
-	RNA_def_string(ot->srna, "layer", "", RE_MAXNAME, "Render Layer", "Single render layer to re-render (used only when animation is disabled)");
-	RNA_def_string(ot->srna, "scene", "", MAX_ID_NAME - 2, "Scene", "Scene to render, current scene if not specified");
+	prop = RNA_def_string(ot->srna, "layer", "", RE_MAXNAME, "Render Layer", "Single render layer to re-render (used only when animation is disabled)");
+	RNA_def_property_flag(prop, PROP_SKIP_SAVE);
+	prop = RNA_def_string(ot->srna, "scene", "", MAX_ID_NAME - 2, "Scene", "Scene to render, current scene if not specified");
+	RNA_def_property_flag(prop, PROP_SKIP_SAVE);
 }
 

Modified: trunk/blender/source/blender/editors/render/render_update.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_update.c	2012-11-29 16:36:16 UTC (rev 52667)
+++ trunk/blender/source/blender/editors/render/render_update.c	2012-11-29 19:04:33 UTC (rev 52668)
@@ -65,6 +65,8 @@
 
 #include "render_intern.h"  // own include
 
+extern Material defmaterial;
+
 /***************************** Render Engines ********************************/
 
 void ED_render_scene_update(Main *bmain, Scene *scene, int updated)
@@ -266,6 +268,9 @@
 	for (ma = bmain->mat.first; ma; ma = ma->id.next)
 		if (ma->gpumaterial.first)
 			GPU_material_free(ma);
+
+	if (defmaterial.gpumaterial.first)
+		GPU_material_free(&defmaterial);
 }
 
 static void texture_changed(Main *bmain, Tex *tex)
@@ -347,6 +352,9 @@
 	for (ma = bmain->mat.first; ma; ma = ma->id.next)
 		if (ma->gpumaterial.first)
 			GPU_material_free(ma);
+
+	if (defmaterial.gpumaterial.first)
+		GPU_material_free(&defmaterial);
 }
 
 static void image_changed(Main *bmain, Image *ima)
@@ -375,6 +383,9 @@
 	for (ma = bmain->mat.first; ma; ma = ma->id.next)
 		if (ma->gpumaterial.first)
 			GPU_material_free(ma);
+
+	if (defmaterial.gpumaterial.first)
+		GPU_material_free(&defmaterial);
 }
 
 void ED_render_id_flush_update(Main *bmain, ID *id)




More information about the Bf-blender-cvs mailing list