[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41463] trunk/blender/source/blender: RenderEngine: add .is_animation and .is_preview properties to detect if it 's

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Nov 2 14:36:29 CET 2011


Revision: 41463
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41463
Author:   blendix
Date:     2011-11-02 13:36:28 +0000 (Wed, 02 Nov 2011)
Log Message:
-----------
RenderEngine: add .is_animation and .is_preview properties to detect if it's
an animation or preview render that is being done.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_render.c
    trunk/blender/source/blender/render/extern/include/RE_engine.h
    trunk/blender/source/blender/render/intern/include/render_types.h
    trunk/blender/source/blender/render/intern/source/external_engine.c
    trunk/blender/source/blender/render/intern/source/pipeline.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_render.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_render.c	2011-11-02 12:18:51 UTC (rev 41462)
+++ trunk/blender/source/blender/makesrna/intern/rna_render.c	2011-11-02 13:36:28 UTC (rev 41463)
@@ -251,9 +251,16 @@
 	prop= RNA_def_string(func, "message", "", 0, "Report Message", "");
 	RNA_def_property_flag(prop, PROP_REQUIRED);
 
-	/* registration */
 	RNA_define_verify_sdna(0);
 
+	prop= RNA_def_property(srna, "is_animation", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", RE_ENGINE_ANIMATION);
+
+	prop= RNA_def_property(srna, "is_preview", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "flag", RE_ENGINE_PREVIEW);
+
+	/* registration */
+
 	prop= RNA_def_property(srna, "bl_idname", PROP_STRING, PROP_NONE);
 	RNA_def_property_string_sdna(prop, NULL, "type->idname");
 	RNA_def_property_flag(prop, PROP_REGISTER|PROP_NEVER_CLAMP);

Modified: trunk/blender/source/blender/render/extern/include/RE_engine.h
===================================================================
--- trunk/blender/source/blender/render/extern/include/RE_engine.h	2011-11-02 12:18:51 UTC (rev 41462)
+++ trunk/blender/source/blender/render/extern/include/RE_engine.h	2011-11-02 13:36:28 UTC (rev 41463)
@@ -46,11 +46,16 @@
 
 /* External Engine */
 
+/* RenderEngineType.flag */
 #define RE_INTERNAL				1
 #define RE_GAME					2
 #define RE_USE_PREVIEW			4
 #define RE_USE_POSTPROCESS		8
 
+/* RenderEngine.flag */
+#define RE_ENGINE_ANIMATION		1
+#define RE_ENGINE_PREVIEW		2
+
 extern ListBase R_engines;
 
 typedef struct RenderEngineType {
@@ -70,6 +75,8 @@
 typedef struct RenderEngine {
 	RenderEngineType *type;
 
+	int flag;
+
 	struct Render *re;
 	ListBase fullresult;
 } RenderEngine;

Modified: trunk/blender/source/blender/render/intern/include/render_types.h
===================================================================
--- trunk/blender/source/blender/render/intern/include/render_types.h	2011-11-02 12:18:51 UTC (rev 41462)
+++ trunk/blender/source/blender/render/intern/include/render_types.h	2011-11-02 13:36:28 UTC (rev 41463)
@@ -601,6 +601,7 @@
 #define R_NEED_TANGENT	16
 #define R_BAKE_TRACE	32
 #define R_BAKING		64
+#define R_ANIMATION		128
 
 /* vlakren->flag (vlak = face in dutch) char!!! */
 #define R_SMOOTH		1

Modified: trunk/blender/source/blender/render/intern/source/external_engine.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/external_engine.c	2011-11-02 12:18:51 UTC (rev 41462)
+++ trunk/blender/source/blender/render/intern/source/external_engine.c	2011-11-02 13:36:28 UTC (rev 41463)
@@ -265,6 +265,11 @@
 	engine = RE_engine_create(type);
 	engine->re= re;
 
+	if(re->flag & R_ANIMATION)
+		engine->flag |= RE_ENGINE_ANIMATION;
+	if(re->r.scemode & R_PREVIEWBUTS)
+		engine->flag |= RE_ENGINE_PREVIEW;
+
 	if((re->r.scemode & (R_NO_FRAME_UPDATE|R_PREVIEWBUTS))==0)
 		scene_update_for_newframe(re->main, re->scene, re->lay);
 

Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c	2011-11-02 12:18:51 UTC (rev 41462)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c	2011-11-02 13:36:28 UTC (rev 41463)
@@ -3085,6 +3085,8 @@
 	/* is also set by caller renderwin.c */
 	G.rendering= 1;
 
+	re->flag |= R_ANIMATION;
+
 	if(BKE_imtype_is_movie(scene->r.imtype))
 		if(!mh->start_movie(scene, &re->r, re->rectx, re->recty, re->reports))
 			G.afbreek= 1;
@@ -3193,6 +3195,8 @@
 
 	scene->r.cfra= cfrao;
 
+	re->flag &= ~R_ANIMATION;
+
 	/* UGLY WARNING */
 	G.rendering= 0;
 }




More information about the Bf-blender-cvs mailing list