[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21363] branches/blender2.5/blender/source /blender: Rendering animations with particle trails cached.
Janne Karhu
jhkarh at utu.fi
Sat Jul 4 14:09:21 CEST 2009
Revision: 21363
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21363
Author: jhk
Date: 2009-07-04 14:09:21 +0200 (Sat, 04 Jul 2009)
Log Message:
-----------
Rendering animations with particle trails cached.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/blenkernel/BKE_pointcache.h
branches/blender2.5/blender/source/blender/blenkernel/intern/pointcache.c
branches/blender2.5/blender/source/blender/editors/physics/ed_pointcache.c
branches/blender2.5/blender/source/blender/render/intern/source/pipeline.c
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_pointcache.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_pointcache.h 2009-07-04 08:50:41 UTC (rev 21362)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_pointcache.h 2009-07-04 12:09:21 UTC (rev 21363)
@@ -114,6 +114,7 @@
struct Scene *scene;
int bake;
int render;
+ int anim_init;
int quick_step;
struct PTCacheID *pid;
int (*break_test)(void *data);
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/pointcache.c 2009-07-04 08:50:41 UTC (rev 21362)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/pointcache.c 2009-07-04 12:09:21 UTC (rev 21363)
@@ -1154,6 +1154,7 @@
baker.progressbar=NULL;
baker.progresscontext=NULL;
baker.render=0;
+ baker.anim_init = 0;
baker.scene=scene;
if(count_quick_cache(scene, &baker.quick_step))
@@ -1171,7 +1172,7 @@
float frameleno = scene->r.framelen;
int cfrao = CFRA;
int startframe = MAXFRAME;
- int endframe = CFRA;
+ int endframe = baker->anim_init ? scene->r.sfra : CFRA;
int bake = baker->bake;
int render = baker->render;
int step = baker->quick_step;
Modified: branches/blender2.5/blender/source/blender/editors/physics/ed_pointcache.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/physics/ed_pointcache.c 2009-07-04 08:50:41 UTC (rev 21362)
+++ branches/blender2.5/blender/source/blender/editors/physics/ed_pointcache.c 2009-07-04 12:09:21 UTC (rev 21363)
@@ -82,6 +82,7 @@
baker.pid = NULL;
baker.bake = RNA_boolean_get(op->ptr, "bake");
baker.render = 0;
+ baker.anim_init = 0;
baker.quick_step = 1;
baker.break_test = cache_break_test;
baker.break_data = NULL;
@@ -172,6 +173,7 @@
baker.pid = &pid;
baker.bake = RNA_boolean_get(op->ptr, "bake");
baker.render = 0;
+ baker.anim_init = 0;
baker.quick_step = 1;
baker.break_test = cache_break_test;
baker.break_data = NULL;
@@ -277,6 +279,7 @@
baker.pid = &pid;
baker.bake = RNA_boolean_get(op->ptr, "bake");
baker.render = 0;
+ baker.anim_init = 0;
baker.quick_step = 1;
baker.break_test = cache_break_test;
baker.break_data = NULL;
Modified: branches/blender2.5/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- branches/blender2.5/blender/source/blender/render/intern/source/pipeline.c 2009-07-04 08:50:41 UTC (rev 21362)
+++ branches/blender2.5/blender/source/blender/render/intern/source/pipeline.c 2009-07-04 12:09:21 UTC (rev 21363)
@@ -2413,7 +2413,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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) {
/*
More information about the Bf-blender-cvs
mailing list