diff options
author | IRIE Shinsuke <irieshinsuke@yahoo.co.jp> | 2014-02-12 00:41:09 +0400 |
---|---|---|
committer | IRIE Shinsuke <irieshinsuke@yahoo.co.jp> | 2014-02-12 00:46:26 +0400 |
commit | 38e58612efbd79807ffc030ed6093e6110b2fd5a (patch) | |
tree | f13f0f7594a6ebf7e5d7c8f309caad81b52158db /source/blender/render | |
parent | 78f23ce9fc9ea1fe4ce6d7a12e168fe07cd313de (diff) |
Revert own previous commit rBe2f9afbaabbd.
The "Cast Shadows" worked as expected, but it can cause problem in some cases.
For example, when using strand render, we need disabling only buffer shadows,
but the previous changes made that impossible. "Cast Shadows" should be added
as a newly created option.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/raytrace/rayobject.cpp | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/shadbuf.c | 4 | ||||
-rw-r--r-- | source/blender/render/intern/source/strand.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/zbuf.c | 6 |
5 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/render/intern/raytrace/rayobject.cpp b/source/blender/render/intern/raytrace/rayobject.cpp index fd3d2b5083b..9e639501fdd 100644 --- a/source/blender/render/intern/raytrace/rayobject.cpp +++ b/source/blender/render/intern/raytrace/rayobject.cpp @@ -118,7 +118,7 @@ MALWAYS_INLINE int vlr_check_intersect(Isect *is, ObjectInstanceRen *obi, VlakRe if (is->mode == RE_RAY_MIRROR) return !(vlr->mat->mode & MA_ONLYCAST); else - return (vlr->mat->mode & MA_CASTSHADOW) && (is->lay & obi->lay); + return (is->lay & obi->lay); } MALWAYS_INLINE int vlr_check_intersect_solid(Isect *UNUSED(is), ObjectInstanceRen *UNUSED(obi), VlakRen *vlr) diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 56080357dce..bcde98aea8f 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -746,7 +746,7 @@ static Material *give_render_material(Render *re, Object *ob, short nr) if (ma->material_type == MA_TYPE_VOLUME) { ma->mode |= MA_TRANSP; - ma->mode &= ~MA_CASTSHADOW; + ma->mode &= ~MA_SHADBUF; } if ((ma->mode & MA_TRANSP) && (ma->mode & MA_ZTRANSP)) re->flag |= R_ZTRA; diff --git a/source/blender/render/intern/source/shadbuf.c b/source/blender/render/intern/source/shadbuf.c index 676e0436bfd..0c3bf85cd24 100644 --- a/source/blender/render/intern/source/shadbuf.c +++ b/source/blender/render/intern/source/shadbuf.c @@ -660,7 +660,7 @@ static void shadowbuf_autoclip(Render *re, LampRen *lar) if (vlr->mat!= ma) { ma= vlr->mat; ok= 1; - if ((ma->mode & MA_CASTSHADOW)==0) ok= 0; + if ((ma->mode & MA_SHADBUF)==0) ok= 0; } if (ok && (obi->lay & lay)) { @@ -2013,7 +2013,7 @@ static void isb_bsp_fillfaces(Render *re, LampRen *lar, ISBBranch *root) if (vlr->mat!= ma) { ma= vlr->mat; ok= 1; - if ((ma->mode & MA_CASTSHADOW)==0) ok= 0; + if ((ma->mode & MA_SHADBUF)==0) ok= 0; if (ma->material_type == MA_TYPE_WIRE) ok= 0; zspanstrand.shad_alpha= zspan.shad_alpha= ma->shad_alpha; } diff --git a/source/blender/render/intern/source/strand.c b/source/blender/render/intern/source/strand.c index 6c13bffdd17..f2d4a7afd94 100644 --- a/source/blender/render/intern/source/strand.c +++ b/source/blender/render/intern/source/strand.c @@ -860,7 +860,7 @@ int zbuffer_strands_abuf(Render *re, RenderPart *pa, APixstrand *apixbuf, ListBa /* test if we should skip it */ ma = obr->strandbuf->ma; - if (shadow && !(ma->mode & MA_CASTSHADOW)) + if (shadow && !(ma->mode & MA_SHADBUF)) continue; else if (!shadow && (ma->mode & MA_ONLYCAST)) continue; diff --git a/source/blender/render/intern/source/zbuf.c b/source/blender/render/intern/source/zbuf.c index 6885768261f..a8ccd1f362f 100644 --- a/source/blender/render/intern/source/zbuf.c +++ b/source/blender/render/intern/source/zbuf.c @@ -2368,7 +2368,7 @@ void zbuffer_shadow(Render *re, float winmat[4][4], LampRen *lar, int *rectz, in if (vlr->mat!= ma) { ma= vlr->mat; ok= 1; - if ((ma->mode & MA_CASTSHADOW)==0) ok= 0; + if ((ma->mode & MA_SHADBUF)==0) ok= 0; } if (ok && (obi->lay & lay) && !(vlr->flag & R_HIDDEN)) { @@ -2421,7 +2421,7 @@ void zbuffer_shadow(Render *re, float winmat[4][4], LampRen *lar, int *rectz, in if (sseg.buffer->ma!= ma) { ma= sseg.buffer->ma; ok= 1; - if ((ma->mode & MA_CASTSHADOW)==0) ok= 0; + if ((ma->mode & MA_SHADBUF)==0) ok= 0; } if (ok && (sseg.buffer->lay & lay)) { @@ -3349,7 +3349,7 @@ static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase * if (vlr->mat!=ma) { ma= vlr->mat; if (shadow) - dofill= (ma->mode & MA_CASTSHADOW); + dofill= (ma->mode & MA_SHADBUF); else dofill= (((ma->mode & MA_TRANSP) && (ma->mode & MA_ZTRANSP)) && !(ma->mode & MA_ONLYCAST)); } |