diff --git a/bin/data/presets/burn-guided.pst b/bin/data/presets/burn-guided.pst index fdb85e76..6f0e68c0 100644 --- a/bin/data/presets/burn-guided.pst +++ b/bin/data/presets/burn-guided.pst @@ -20,7 +20,7 @@ connect:blend:burn:output:blend:dodge:back connect:blend:dodge:output:colour:01:input param:blend:burn:opacity:1 param:blend:burn:mode:0 -param:blend:burn:mask:2 +param:blend:burn:mask:1 param:exposure:burn:exposure:2 param:draw:burn:opacity:5 param:draw:burn:hardness:1 diff --git a/bin/data/presets/burn.pst b/bin/data/presets/burn.pst index 44c7d65f..5e8b186f 100644 --- a/bin/data/presets/burn.pst +++ b/bin/data/presets/burn.pst @@ -17,5 +17,5 @@ connect:blend:burn:output:blend:dodge:back connect:blend:dodge:output:colour:01:input param:blend:burn:opacity:1 param:blend:burn:mode:0 -param:blend:burn:mask:2 +param:blend:burn:mask:1 param:exposure:burn:exposure:2 diff --git a/bin/data/presets/dodge-guided.pst b/bin/data/presets/dodge-guided.pst index f34fe9d3..857a2870 100644 --- a/bin/data/presets/dodge-guided.pst +++ b/bin/data/presets/dodge-guided.pst @@ -20,7 +20,7 @@ connect:blend:dodge:output:blend:burn:back connect:blend:burn:output:colour:01:input param:blend:dodge:opacity:1 param:blend:dodge:mode:0 -param:blend:dodge:mask:2 +param:blend:dodge:mask:1 param:exposure:dodge:exposure:-2 param:draw:dodge:opacity:5 param:draw:dodge:hardness:1 diff --git a/bin/data/presets/dodge.pst b/bin/data/presets/dodge.pst index 4092ef51..7d3142d3 100644 --- a/bin/data/presets/dodge.pst +++ b/bin/data/presets/dodge.pst @@ -17,5 +17,5 @@ connect:blend:dodge:output:blend:burn:back connect:blend:burn:output:colour:01:input param:blend:dodge:opacity:1 param:blend:dodge:mode:0 -param:blend:dodge:mask:2 +param:blend:dodge:mask:1 param:exposure:dodge:exposure:-2 diff --git a/src/pipe/modules/blend/main.comp b/src/pipe/modules/blend/main.comp index 5ecb1ec1..b37b545d 100644 --- a/src/pipe/modules/blend/main.comp +++ b/src/pipe/modules/blend/main.comp @@ -49,12 +49,12 @@ main() if(params.mask == 1) { float mask = texture(img_mask, tc).r; - t = clamp(params.opacity*(1.0-mask), 0, 1); + t = clamp(params.opacity*mask, 0, 1); } else if(params.mask == 2) { float mask = texture(img_mask, tc).r; - t = clamp(params.opacity*mask, 0, 1); + t = clamp(params.opacity*(1.0-mask), 0, 1); } if(params.mode == 0) diff --git a/src/pipe/modules/shared/guided2f.comp b/src/pipe/modules/shared/guided2f.comp index 66c6d2d9..6d5071f8 100644 --- a/src/pipe/modules/shared/guided2f.comp +++ b/src/pipe/modules/shared/guided2f.comp @@ -34,8 +34,8 @@ main() const float var = mean_corr.z - mean_corr.x * mean_corr.x; const float cov = mean_corr.w - mean_corr.x * mean_corr.y; // XXX what's the valid range here? - // const float a = clamp(cov / (var + 100*cov*params.epsilon), 0.0f, 1.0f); - const float a = clamp(cov / (var + 1e-8 + params.epsilon*params.epsilon), -1e5, 1e5); // some safety margin to avoid infty etc + const float a = clamp(cov / (var + 1e-8 + params.epsilon*params.epsilon), -5.0f, 5.0f); + // const float a = clamp(cov / (var + 1e-8 + params.epsilon*params.epsilon), -1e5, 1e5); // some safety margin to avoid infty etc // const float a = cov / (var + params.epsilon*params.epsilon); const float b = mean_corr.y - a * mean_corr.x; imageStore(img_out, ipos, vec4(a, b, 0.0, 0.0));