diff options
author | Ton Roosendaal <ton@blender.org> | 2009-02-04 20:40:50 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-02-04 20:40:50 +0300 |
commit | 1b27cd70e573118580bc83a5a8ca2bdc31616414 (patch) | |
tree | 4fe31ffb6091c86864bde870d4a3aa6b93687f34 /source/blender/render | |
parent | df7e7660325611847721768fb7d082e7d5f2736c (diff) |
2.5
Render back! And not only back, even full threaded now. :)
Current state is unfinished, but too much fun to not to
commit for review and test!
WARNING: because render is in a threaded job, it will
use data as can be edited in the UI. That'll crash in many
cases of course... the idea is to limit UI usage to viewing
stuff, especially for the Image Window to inspect layers
or zoom in/out.
What works now;
- F12 render (no anim)
- ESC from render
- ESC pushes back temporary Image Window
- Render to ImageWindow or full-screen.
- Executing composites, and edit composites after render.
Note that the UI is 100% responsive in a render, you can
switch screens, slide area dividers around, or even load
a new file during render. :) It's quite stable even.
I'll collect all crash reports especially to get a good
picture of where the protection is required at least.
Also added: XKey "Delete Objects", to get things crash...
unfortunately it didn't for me.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/envmap.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/render/intern/source/envmap.c b/source/blender/render/intern/source/envmap.c index de09d8f51e0..a57e38f47c8 100644 --- a/source/blender/render/intern/source/envmap.c +++ b/source/blender/render/intern/source/envmap.c @@ -142,7 +142,9 @@ static Render *envmap_render_copy(Render *re, EnvMap *env) /* callbacks */ envre->display_draw= re->display_draw; + envre->ddh= re->ddh; envre->test_break= re->test_break; + envre->tbh= re->tbh; /* and for the evil stuff; copy the database... */ envre->totvlak= re->totvlak; diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 70f03fa8947..b271af0cc70 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -1013,6 +1013,10 @@ Render *RE_NewRender(const char *name) strncpy(re->name, name, RE_MAXNAME); } + /* prevent UI to draw old results immediately */ + RE_FreeRenderResult(re->result); + re->result= NULL; + /* set default empty callbacks */ re->display_init= result_nothing; re->display_clear= result_nothing; @@ -1948,8 +1952,11 @@ static void render_scene(Render *re, Scene *sce, int cfra) /* copy callbacks */ resc->display_draw= re->display_draw; + resc->ddh= re->ddh; resc->test_break= re->test_break; + resc->tbh= re->tbh; resc->stats_draw= re->stats_draw; + resc->sdh= re->sdh; do_render_fields_blur_3d(resc); } |