diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-01-21 07:21:12 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-01-21 14:55:33 +0400 |
commit | 0c9d8970433c7653483431f96d33d72106b7c741 (patch) | |
tree | c7b2cfcd795bf52f164c4185e36f3305258c5bee /source/blender | |
parent | 2a7665697637810515fb3620dad19c72f1c13e13 (diff) |
Fix for Freestyle stroke rendering performed for each SSS material.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/render/intern/source/sss.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/render/intern/source/sss.c b/source/blender/render/intern/source/sss.c index 3ec487f63dc..09169259461 100644 --- a/source/blender/render/intern/source/sss.c +++ b/source/blender/render/intern/source/sss.c @@ -857,7 +857,7 @@ static void sss_create_tree_mat(Render *re, Material *mat) RenderResult *rr; ListBase points; float (*co)[3] = NULL, (*color)[3] = NULL, *area = NULL; - int totpoint = 0, osa, osaflag, partsdone; + int totpoint = 0, osa, osaflag, frsflag, partsdone; if (re->test_break(re->tbh)) return; @@ -872,10 +872,11 @@ static void sss_create_tree_mat(Render *re, Material *mat) rr= re->result; osa= re->osa; osaflag= re->r.mode & R_OSA; + frsflag= re->r.mode & R_EDGE_FRS; partsdone= re->i.partsdone; re->osa= 0; - re->r.mode &= ~R_OSA; + re->r.mode &= ~(R_OSA | R_EDGE_FRS); re->sss_points= &points; re->sss_mat= mat; re->i.partsdone = 0; @@ -898,6 +899,7 @@ static void sss_create_tree_mat(Render *re, Material *mat) re->sss_points= NULL; re->osa= osa; if (osaflag) re->r.mode |= R_OSA; + if (frsflag) re->r.mode |= R_EDGE_FRS; /* no points? no tree */ if (!points.first) |