diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-08-29 18:36:52 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-08-29 18:38:16 +0300 |
commit | 0efecba957eea45621c004217a76448f11f0376d (patch) | |
tree | 26a11c55c969a8c4389f9797f5e46b3d7ed186fc /source/blender/render/intern | |
parent | 21105e1b1f1266a3846462588bdbe840d09758ea (diff) | |
parent | 39eb05161690510ecec4c30129a9f8d5532d39c9 (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/render/intern')
-rw-r--r-- | source/blender/render/intern/source/bake_api.c | 3 | ||||
-rw-r--r-- | source/blender/render/intern/source/render_result.c | 3 | ||||
-rw-r--r-- | source/blender/render/intern/source/render_texture.c | 358 |
3 files changed, 183 insertions, 181 deletions
diff --git a/source/blender/render/intern/source/bake_api.c b/source/blender/render/intern/source/bake_api.c index 57846bc7443..f60105e029d 100644 --- a/source/blender/render/intern/source/bake_api.c +++ b/source/blender/render/intern/source/bake_api.c @@ -590,7 +590,8 @@ bool RE_bake_pixels_populate_from_objects( /* cast ray */ if (!cast_ray_highpoly(treeData, tri_low, tris_high, pixel_array_from, pixel_array_to, mat_low, - highpoly, co, dir, i, tot_highpoly)) { + highpoly, co, dir, i, tot_highpoly)) + { /* if it fails mask out the original pixel array */ pixel_array_from[i].primitive_id = -1; } diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c index c259a60cda0..60e0a3d3843 100644 --- a/source/blender/render/intern/source/render_result.c +++ b/source/blender/render/intern/source/render_result.c @@ -882,7 +882,8 @@ bool RE_WriteRenderResult(ReportList *reports, RenderResult *rr, const char *fil /* Skip non-RGBA and Z passes if not using multi layer. */ if (!multi_layer && !(STREQ(rp->name, RE_PASSNAME_COMBINED) || STREQ(rp->name, "") || - (STREQ(rp->name, RE_PASSNAME_Z) && write_z))) { + (STREQ(rp->name, RE_PASSNAME_Z) && write_z))) + { continue; } diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c index 2841d96025e..e24e14058ed 100644 --- a/source/blender/render/intern/source/render_texture.c +++ b/source/blender/render/intern/source/render_texture.c @@ -1246,127 +1246,127 @@ void texture_rgb_blend(float in[3], const float tex[3], const float out[3], floa float facm; switch (blendtype) { - case MTEX_BLEND: - fact*= facg; - facm= 1.0f-fact; - - in[0]= (fact*tex[0] + facm*out[0]); - in[1]= (fact*tex[1] + facm*out[1]); - in[2]= (fact*tex[2] + facm*out[2]); - break; - - case MTEX_MUL: - fact*= facg; - facm= 1.0f-fact; - in[0]= (facm+fact*tex[0])*out[0]; - in[1]= (facm+fact*tex[1])*out[1]; - in[2]= (facm+fact*tex[2])*out[2]; - break; - - case MTEX_SCREEN: - fact*= facg; - facm= 1.0f-fact; - in[0]= 1.0f - (facm+fact*(1.0f-tex[0])) * (1.0f-out[0]); - in[1]= 1.0f - (facm+fact*(1.0f-tex[1])) * (1.0f-out[1]); - in[2]= 1.0f - (facm+fact*(1.0f-tex[2])) * (1.0f-out[2]); - break; - - case MTEX_OVERLAY: - fact*= facg; - facm= 1.0f-fact; - - if (out[0] < 0.5f) - in[0] = out[0] * (facm + 2.0f*fact*tex[0]); - else - in[0] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[0])) * (1.0f - out[0]); - if (out[1] < 0.5f) - in[1] = out[1] * (facm + 2.0f*fact*tex[1]); - else - in[1] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[1])) * (1.0f - out[1]); - if (out[2] < 0.5f) - in[2] = out[2] * (facm + 2.0f*fact*tex[2]); - else - in[2] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[2])) * (1.0f - out[2]); - break; - - case MTEX_SUB: - fact= -fact; - ATTR_FALLTHROUGH; - case MTEX_ADD: - fact*= facg; - in[0]= (fact*tex[0] + out[0]); - in[1]= (fact*tex[1] + out[1]); - in[2]= (fact*tex[2] + out[2]); - break; - - case MTEX_DIV: - fact*= facg; - facm= 1.0f-fact; - - if (tex[0]!=0.0f) - in[0]= facm*out[0] + fact*out[0]/tex[0]; - if (tex[1]!=0.0f) - in[1]= facm*out[1] + fact*out[1]/tex[1]; - if (tex[2]!=0.0f) - in[2]= facm*out[2] + fact*out[2]/tex[2]; - - break; - - case MTEX_DIFF: - fact*= facg; - facm= 1.0f-fact; - in[0]= facm*out[0] + fact*fabsf(tex[0]-out[0]); - in[1]= facm*out[1] + fact*fabsf(tex[1]-out[1]); - in[2]= facm*out[2] + fact*fabsf(tex[2]-out[2]); - break; - - case MTEX_DARK: - fact*= facg; - facm= 1.0f-fact; - - in[0] = min_ff(out[0], tex[0])*fact + out[0]*facm; - in[1] = min_ff(out[1], tex[1])*fact + out[1]*facm; - in[2] = min_ff(out[2], tex[2])*fact + out[2]*facm; - break; - - case MTEX_LIGHT: - fact*= facg; - - in[0] = max_ff(fact * tex[0], out[0]); - in[1] = max_ff(fact * tex[1], out[1]); - in[2] = max_ff(fact * tex[2], out[2]); - break; - - case MTEX_BLEND_HUE: - fact*= facg; - copy_v3_v3(in, out); - ramp_blend(MA_RAMP_HUE, in, fact, tex); - break; - case MTEX_BLEND_SAT: - fact*= facg; - copy_v3_v3(in, out); - ramp_blend(MA_RAMP_SAT, in, fact, tex); - break; - case MTEX_BLEND_VAL: - fact*= facg; - copy_v3_v3(in, out); - ramp_blend(MA_RAMP_VAL, in, fact, tex); - break; - case MTEX_BLEND_COLOR: - fact*= facg; - copy_v3_v3(in, out); - ramp_blend(MA_RAMP_COLOR, in, fact, tex); - break; - case MTEX_SOFT_LIGHT: - fact*= facg; - copy_v3_v3(in, out); - ramp_blend(MA_RAMP_SOFT, in, fact, tex); - break; - case MTEX_LIN_LIGHT: - fact*= facg; - copy_v3_v3(in, out); - ramp_blend(MA_RAMP_LINEAR, in, fact, tex); - break; + case MTEX_BLEND: + fact*= facg; + facm= 1.0f-fact; + + in[0]= (fact*tex[0] + facm*out[0]); + in[1]= (fact*tex[1] + facm*out[1]); + in[2]= (fact*tex[2] + facm*out[2]); + break; + + case MTEX_MUL: + fact*= facg; + facm= 1.0f-fact; + in[0]= (facm+fact*tex[0])*out[0]; + in[1]= (facm+fact*tex[1])*out[1]; + in[2]= (facm+fact*tex[2])*out[2]; + break; + + case MTEX_SCREEN: + fact*= facg; + facm= 1.0f-fact; + in[0]= 1.0f - (facm+fact*(1.0f-tex[0])) * (1.0f-out[0]); + in[1]= 1.0f - (facm+fact*(1.0f-tex[1])) * (1.0f-out[1]); + in[2]= 1.0f - (facm+fact*(1.0f-tex[2])) * (1.0f-out[2]); + break; + + case MTEX_OVERLAY: + fact*= facg; + facm= 1.0f-fact; + + if (out[0] < 0.5f) + in[0] = out[0] * (facm + 2.0f*fact*tex[0]); + else + in[0] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[0])) * (1.0f - out[0]); + if (out[1] < 0.5f) + in[1] = out[1] * (facm + 2.0f*fact*tex[1]); + else + in[1] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[1])) * (1.0f - out[1]); + if (out[2] < 0.5f) + in[2] = out[2] * (facm + 2.0f*fact*tex[2]); + else + in[2] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[2])) * (1.0f - out[2]); + break; + + case MTEX_SUB: + fact= -fact; + ATTR_FALLTHROUGH; + case MTEX_ADD: + fact*= facg; + in[0]= (fact*tex[0] + out[0]); + in[1]= (fact*tex[1] + out[1]); + in[2]= (fact*tex[2] + out[2]); + break; + + case MTEX_DIV: + fact*= facg; + facm= 1.0f-fact; + + if (tex[0]!=0.0f) + in[0]= facm*out[0] + fact*out[0]/tex[0]; + if (tex[1]!=0.0f) + in[1]= facm*out[1] + fact*out[1]/tex[1]; + if (tex[2]!=0.0f) + in[2]= facm*out[2] + fact*out[2]/tex[2]; + + break; + + case MTEX_DIFF: + fact*= facg; + facm= 1.0f-fact; + in[0]= facm*out[0] + fact*fabsf(tex[0]-out[0]); + in[1]= facm*out[1] + fact*fabsf(tex[1]-out[1]); + in[2]= facm*out[2] + fact*fabsf(tex[2]-out[2]); + break; + + case MTEX_DARK: + fact*= facg; + facm= 1.0f-fact; + + in[0] = min_ff(out[0], tex[0])*fact + out[0]*facm; + in[1] = min_ff(out[1], tex[1])*fact + out[1]*facm; + in[2] = min_ff(out[2], tex[2])*fact + out[2]*facm; + break; + + case MTEX_LIGHT: + fact*= facg; + + in[0] = max_ff(fact * tex[0], out[0]); + in[1] = max_ff(fact * tex[1], out[1]); + in[2] = max_ff(fact * tex[2], out[2]); + break; + + case MTEX_BLEND_HUE: + fact*= facg; + copy_v3_v3(in, out); + ramp_blend(MA_RAMP_HUE, in, fact, tex); + break; + case MTEX_BLEND_SAT: + fact*= facg; + copy_v3_v3(in, out); + ramp_blend(MA_RAMP_SAT, in, fact, tex); + break; + case MTEX_BLEND_VAL: + fact*= facg; + copy_v3_v3(in, out); + ramp_blend(MA_RAMP_VAL, in, fact, tex); + break; + case MTEX_BLEND_COLOR: + fact*= facg; + copy_v3_v3(in, out); + ramp_blend(MA_RAMP_COLOR, in, fact, tex); + break; + case MTEX_SOFT_LIGHT: + fact*= facg; + copy_v3_v3(in, out); + ramp_blend(MA_RAMP_SOFT, in, fact, tex); + break; + case MTEX_LIN_LIGHT: + fact*= facg; + copy_v3_v3(in, out); + ramp_blend(MA_RAMP_LINEAR, in, fact, tex); + break; } } @@ -1382,64 +1382,64 @@ float texture_value_blend(float tex, float out, float fact, float facg, int blen if (flip) SWAP(float, fact, facm); switch (blendtype) { - case MTEX_BLEND: - in= fact*tex + facm*out; - break; - - case MTEX_MUL: - facm= 1.0f-facg; - in= (facm+fact*tex)*out; - break; - - case MTEX_SCREEN: - facm= 1.0f-facg; - in= 1.0f-(facm+fact*(1.0f-tex))*(1.0f-out); - break; - - case MTEX_OVERLAY: - facm= 1.0f-facg; - if (out < 0.5f) - in = out * (facm + 2.0f*fact*tex); - else - in = 1.0f - (facm + 2.0f*fact*(1.0f - tex)) * (1.0f - out); - break; - - case MTEX_SUB: - fact= -fact; - ATTR_FALLTHROUGH; - case MTEX_ADD: - in= fact*tex + out; - break; - - case MTEX_DIV: - if (tex!=0.0f) - in= facm*out + fact*out/tex; - break; - - case MTEX_DIFF: - in= facm*out + fact*fabsf(tex-out); - break; - - case MTEX_DARK: - in = min_ff(out, tex)*fact + out*facm; - break; - - case MTEX_LIGHT: - col= fact*tex; - if (col > out) in= col; else in= out; - break; - - case MTEX_SOFT_LIGHT: - scf=1.0f - (1.0f - tex) * (1.0f - out); - in= facm*out + fact * ((1.0f - out) * tex * out) + (out * scf); - break; - - case MTEX_LIN_LIGHT: - if (tex > 0.5f) - in = out + fact*(2.0f*(tex - 0.5f)); - else - in = out + fact*(2.0f*tex - 1.0f); - break; + case MTEX_BLEND: + in= fact*tex + facm*out; + break; + + case MTEX_MUL: + facm= 1.0f-facg; + in= (facm+fact*tex)*out; + break; + + case MTEX_SCREEN: + facm= 1.0f-facg; + in= 1.0f-(facm+fact*(1.0f-tex))*(1.0f-out); + break; + + case MTEX_OVERLAY: + facm= 1.0f-facg; + if (out < 0.5f) + in = out * (facm + 2.0f*fact*tex); + else + in = 1.0f - (facm + 2.0f*fact*(1.0f - tex)) * (1.0f - out); + break; + + case MTEX_SUB: + fact= -fact; + ATTR_FALLTHROUGH; + case MTEX_ADD: + in= fact*tex + out; + break; + + case MTEX_DIV: + if (tex!=0.0f) + in= facm*out + fact*out/tex; + break; + + case MTEX_DIFF: + in= facm*out + fact*fabsf(tex-out); + break; + + case MTEX_DARK: + in = min_ff(out, tex)*fact + out*facm; + break; + + case MTEX_LIGHT: + col= fact*tex; + if (col > out) in= col; else in= out; + break; + + case MTEX_SOFT_LIGHT: + scf=1.0f - (1.0f - tex) * (1.0f - out); + in= facm*out + fact * ((1.0f - out) * tex * out) + (out * scf); + break; + + case MTEX_LIN_LIGHT: + if (tex > 0.5f) + in = out + fact*(2.0f*(tex - 0.5f)); + else + in = out + fact*(2.0f*tex - 1.0f); + break; } return in; |