diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-02-11 14:00:09 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-02-11 14:00:09 +0300 |
commit | c5c53b0f2df4d9eeae6564fa3e2e500bef2d8d15 (patch) | |
tree | 7258ffcc3ec60c338494cde6336c79a8a93eb531 /source/blender/render/intern/source/zbuf.c | |
parent | db3f203cb9cf339b64dc1a0435634d21c591c202 (diff) |
Bugfix: FSA enabled in compositing scene but disabled in other
scenes could crash, there was code to make sure osa level is
the same in all scenes, but that was set too late, after sample
tables are created.
Fix for some unitinialized vector warnings with FSA, these were
harmless, unfortunately.
Diffstat (limited to 'source/blender/render/intern/source/zbuf.c')
-rw-r--r-- | source/blender/render/intern/source/zbuf.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/render/intern/source/zbuf.c b/source/blender/render/intern/source/zbuf.c index 8f4b75cfc73..c7e7c2efa4b 100644 --- a/source/blender/render/intern/source/zbuf.c +++ b/source/blender/render/intern/source/zbuf.c @@ -4055,12 +4055,15 @@ unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pas /* for each mask-sample we alpha-under colors. then in end it's added using filter */ memset(samp_shr, 0, sizeof(ShadeResult)*osa); - for(a=0; a<osa; a++) + for(a=0; a<osa; a++) { samp_shr[a].z= 10e10f; - - /* nice this memset, but speed vectors are not initialized OK then. it is sufficient to only clear 1 (see merge_transp_passes) */ - if(addpassflag & SCE_PASS_VECTOR) - samp_shr->winspeed[0]= samp_shr->winspeed[1]= samp_shr->winspeed[2]= samp_shr->winspeed[3]= PASS_VECTOR_MAX; + if(addpassflag & SCE_PASS_VECTOR) { + samp_shr[a].winspeed[0]= PASS_VECTOR_MAX; + samp_shr[a].winspeed[1]= PASS_VECTOR_MAX; + samp_shr[a].winspeed[2]= PASS_VECTOR_MAX; + samp_shr[a].winspeed[3]= PASS_VECTOR_MAX; + } + } if(R.osa==0) { while(totface>0) { |