diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-11-04 02:58:05 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-11-04 02:58:05 +0400 |
commit | 70b74022528868342836fe0ea2bba573d350e260 (patch) | |
tree | 636ae77810d5ab028fcc1f20f748dfb2f890bd45 /source/blender/render | |
parent | a9dc6038e07c550f5968d2adcc6d441e4992929b (diff) | |
parent | 224c26f891cb2495a0d94a092e46f13784af6e6b (diff) |
svn merge -r41480:41503 ^/trunk/blender
Diffstat (limited to 'source/blender/render')
5 files changed, 18 insertions, 10 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index cbb2f17043c..fac3329bae0 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -249,6 +249,8 @@ float RE_filter_value(int type, float x); /* vector blur zbuffer method */ void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nbd, int xsize, int ysize, float *newrect, float *imgrect, float *vecbufrect, float *zbufrect); +int RE_seq_render_active(struct Scene *scene, struct RenderData *rd); + /* shaded view or baking options */ #define RE_BAKE_LIGHT 0 /* not listed in rna_scene.c -> can't be enabled! */ #define RE_BAKE_ALL 1 diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index b65c7513bd0..31d92d7f342 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -2391,7 +2391,7 @@ static void do_displacement(Render *re, ObjectRen *obr, float mat[][4], float im /* Object Size with parenting */ obt=obr->ob; while(obt){ - add_v3_v3v3(temp, obt->size, obt->dsize); + mul_v3_v3v3(temp, obt->size, obt->dsize); scale[0]*=temp[0]; scale[1]*=temp[1]; scale[2]*=temp[2]; obt=obt->parent; } diff --git a/source/blender/render/intern/source/initrender.c b/source/blender/render/intern/source/initrender.c index da935d0415d..091a64e418e 100644 --- a/source/blender/render/intern/source/initrender.c +++ b/source/blender/render/intern/source/initrender.c @@ -451,7 +451,7 @@ struct Object *RE_GetCamera(Render *re) } /* call this after InitState() */ -/* per render, there's one persistant viewplane. Parts will set their own viewplanes */ +/* per render, there's one persistent viewplane. Parts will set their own viewplanes */ void RE_SetCamera(Render *re, Object *camera) { object_camera_mode(&re->r, camera); diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 8d72be1684c..de5d037675e 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2517,14 +2517,14 @@ static void renderresult_stampinfo(Render *re) RE_ReleaseResultImage(re); } -static int seq_render_active(Render *re) +int RE_seq_render_active(Scene *scene, RenderData *rd) { Editing *ed; Sequence *seq; - ed = re->scene->ed; + ed = scene->ed; - if (!(re->r.scemode & R_DOSEQ) || !ed || !ed->seqbase.first) + if (!(rd->scemode & R_DOSEQ) || !ed || !ed->seqbase.first) return 0; for (seq= ed->seqbase.first; seq; seq= seq->next) { @@ -2632,6 +2632,12 @@ static void do_render_seq(Render * re) /* just in case this flag went missing at some point */ re->r.scemode |= R_DOSEQ; + + /* set overall progress of sequence rendering */ + if(re->r.efra!=re->r.sfra) + re->progress(re->prh, (float)(cfra-re->r.sfra) / (re->r.efra-re->r.sfra)); + else + re->progress(re->prh, 1.0f); } /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ @@ -2649,7 +2655,7 @@ static void do_render_all_options(Render *re) if(RE_engine_render(re, 1)) { /* in this case external render overrides all */ } - else if(seq_render_active(re)) { + else if(RE_seq_render_active(re->scene, &re->r)) { /* note: do_render_seq() frees rect32 when sequencer returns float images */ if(!re->test_break(re->tbh)) do_render_seq(re); diff --git a/source/blender/render/intern/source/shadbuf.c b/source/blender/render/intern/source/shadbuf.c index a4bf6c6b5e1..274fa4469e0 100644 --- a/source/blender/render/intern/source/shadbuf.c +++ b/source/blender/render/intern/source/shadbuf.c @@ -2156,7 +2156,7 @@ static int isb_add_samples(RenderPart *pa, ISBBranch *root, MemArena *memarena, int xi, yi, *xcos, *ycos; int sample, bsp_err= 0; - /* bsp split doesn't like to handle regular sequenes */ + /* bsp split doesn't like to handle regular sequences */ xcos= MEM_mallocN( pa->rectx*sizeof(int), "xcos"); ycos= MEM_mallocN( pa->recty*sizeof(int), "ycos"); for(xi=0; xi<pa->rectx; xi++) @@ -2301,7 +2301,7 @@ static void isb_make_buffer(RenderPart *pa, LampRen *lar) isb_bsp_fillfaces(&R, lar, &root); /* shb->persmat should have been calculated */ - /* copy shadow samples to persistant buffer, reduce memory overhead */ + /* copy shadow samples to persistent buffer, reduce memory overhead */ if(R.osa) { ISBShadfacA **isbsa= isbdata->shadfaca= MEM_callocN(pa->rectx*pa->recty*sizeof(void *), "isb shadfacs"); @@ -2360,7 +2360,7 @@ static int isb_add_samples_transp(RenderPart *pa, ISBBranch *root, MemArena *mem int xi, yi, *xcos, *ycos; int sample, bsp_err= 0; - /* bsp split doesn't like to handle regular sequenes */ + /* bsp split doesn't like to handle regular sequences */ xcos= MEM_mallocN( pa->rectx*sizeof(int), "xcos"); ycos= MEM_mallocN( pa->recty*sizeof(int), "ycos"); for(xi=0; xi<pa->rectx; xi++) @@ -2505,7 +2505,7 @@ static void isb_make_buffer_transp(RenderPart *pa, APixstr *apixbuf, LampRen *la /* go over all faces and fill in shadow values */ isb_bsp_fillfaces(&R, lar, &root); /* shb->persmat should have been calculated */ - /* copy shadow samples to persistant buffer, reduce memory overhead */ + /* copy shadow samples to persistent buffer, reduce memory overhead */ isbsa= isbdata->shadfaca= MEM_callocN(pa->rectx*pa->recty*sizeof(void *), "isb shadfacs"); isbdata->memarena = BLI_memarena_new(0x8000 * sizeof(ISBSampleA), "isb arena"); |