Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/render/intern/source/pipeline.c')
-rw-r--r--source/blender/render/intern/source/pipeline.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index b271af0cc70..cc2cf290795 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -135,6 +135,11 @@ static void int_nothing(void *unused, int val) {}
static int void_nothing(void *unused) {return 0;}
static void print_error(void *unused, char *str) {printf("ERROR: %s\n", str);}
+int RE_RenderInProgress(Render *re)
+{
+ return re->result_ok==0;
+}
+
static void stats_background(void *unused, RenderStats *rs)
{
uintptr_t mem_in_use= MEM_get_memory_in_use();
@@ -1013,9 +1018,10 @@ Render *RE_NewRender(const char *name)
strncpy(re->name, name, RE_MAXNAME);
}
- /* prevent UI to draw old results immediately */
+ /* prevent UI to draw old results */
RE_FreeRenderResult(re->result);
re->result= NULL;
+ re->result_ok= 0;
/* set default empty callbacks */
re->display_init= result_nothing;
@@ -2487,8 +2493,8 @@ static int render_initialize_from_scene(Render *re, Scene *scene, int anim)
void RE_BlenderFrame(Render *re, Scene *scene, int frame)
{
/* ugly global still... is to prevent renderwin events and signal subsurfs etc to make full resol */
- /* is also set by caller renderwin.c */
G.rendering= 1;
+ re->result_ok= 0;
scene->r.cfra= frame;
@@ -2498,6 +2504,7 @@ void RE_BlenderFrame(Render *re, Scene *scene, int frame)
/* UGLY WARNING */
G.rendering= 0;
+ re->result_ok= 1;
}
static void do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh)
@@ -2586,6 +2593,7 @@ void RE_BlenderAnim(Render *re, Scene *scene, int sfra, int efra, int tfra)
/* ugly global still... is to prevent renderwin events and signal subsurfs etc to make full resol */
/* is also set by caller renderwin.c */
G.rendering= 1;
+ re->result_ok= 0;
if(BKE_imtype_is_movie(scene->r.imtype))
mh->start_movie(&re->r, re->rectx, re->recty);
@@ -2673,6 +2681,7 @@ void RE_BlenderAnim(Render *re, Scene *scene, int sfra, int efra, int tfra)
/* UGLY WARNING */
G.rendering= 0;
+ re->result_ok= 1;
}
/* note; repeated win/disprect calc... solve that nicer, also in compo */