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;
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to