diff options
author | Janne Karhu <jhkarh@gmail.com> | 2009-07-04 16:09:21 +0400 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2009-07-04 16:09:21 +0400 |
commit | 7055702530f778ebf66e53bc4336e812fb0cd885 (patch) | |
tree | 1d8537a358d51432eadb7546baf0ad738bf15434 /source/blender/render | |
parent | 84c614ff5fed57567d23177096e2bae51f66a21a (diff) |
Rendering animations with particle trails cached.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index ccc793e4235..ec2660566f5 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2413,7 +2413,7 @@ static int is_rendering_allowed(Render *re) return 1; } -static void update_physics_cache(Render *re, Scene *scene) +static void update_physics_cache(Render *re, Scene *scene, int anim_init) { PTCacheBaker baker; @@ -2421,6 +2421,7 @@ static void update_physics_cache(Render *re, Scene *scene) baker.pid = NULL; baker.bake = 0; baker.render = 1; + baker.anim_init = 1; baker.quick_step = 1; baker.break_test = re->test_break; baker.break_data = re->tbh; @@ -2429,7 +2430,7 @@ static void update_physics_cache(Render *re, Scene *scene) BKE_ptcache_make_cache(&baker); } /* evaluating scene options for general Blender render */ -static int render_initialize_from_scene(Render *re, Scene *scene, int anim) +static int render_initialize_from_scene(Render *re, Scene *scene, int anim, int anim_init) { int winx, winy; rcti disprect; @@ -2467,7 +2468,7 @@ static int render_initialize_from_scene(Render *re, Scene *scene, int anim) tag_scenes_for_render(re); /* make sure dynamics are up to date */ - update_physics_cache(re, scene); + update_physics_cache(re, scene, anim_init); if(scene->r.scemode & R_SINGLE_LAYER) push_render_result(re); @@ -2497,7 +2498,7 @@ void RE_BlenderFrame(Render *re, Scene *scene, int frame) scene->r.cfra= frame; - if(render_initialize_from_scene(re, scene, 0)) { + if(render_initialize_from_scene(re, scene, 0, 0)) { do_render_all_options(re); } @@ -2586,7 +2587,7 @@ void RE_BlenderAnim(Render *re, Scene *scene, int sfra, int efra, int tfra) int nfra; /* do not fully call for each frame, it initializes & pops output window */ - if(!render_initialize_from_scene(re, scene, 0)) + if(!render_initialize_from_scene(re, scene, 0, 1)) return; /* ugly global still... is to prevent renderwin events and signal subsurfs etc to make full resol */ @@ -2617,7 +2618,7 @@ void RE_BlenderAnim(Render *re, Scene *scene, int sfra, int efra, int tfra) char name[FILE_MAX]; /* only border now, todo: camera lens. (ton) */ - render_initialize_from_scene(re, scene, 1); + render_initialize_from_scene(re, scene, 1, 0); if(nfra!=scene->r.cfra) { /* |