diff options
author | Tim Kuipers <t.kuipers@ultimaker.com> | 2020-02-27 20:17:07 +0300 |
---|---|---|
committer | Tim Kuipers <t.kuipers@ultimaker.com> | 2020-02-27 20:17:07 +0300 |
commit | b51b6997155b7d074e0e8112b3afedac13ba5d94 (patch) | |
tree | e96843a579194f50153e26808db046ca766a8bbe /plugins/SolidView | |
parent | 0e633a0dfaa202e4b95720d99428a5f4c790301a (diff) |
fix old xray view
I don't understand why it only seems to work if I define u_color via [default]
andd why it doesn't work when I set it inside the shader itself.
Diffstat (limited to 'plugins/SolidView')
-rw-r--r-- | plugins/SolidView/xray_composite.shader | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/plugins/SolidView/xray_composite.shader b/plugins/SolidView/xray_composite.shader index 634dd33f70..55e2167308 100644 --- a/plugins/SolidView/xray_composite.shader +++ b/plugins/SolidView/xray_composite.shader @@ -51,8 +51,9 @@ fragment = result = layer0 * layer0.a + result * (1.0 - layer0.a); - float intersection_count = texture2D(u_layer2, v_uvs).r * 255.0; - if(mod(intersection_count, 2.0) >= 1.0) + float intersection_count = texture2D(u_layer2, v_uvs).r * 50; // 1 / .02 + float rest = mod(intersection_count, 2.0); + if (rest > 0.5 && rest < 1.5) { vec2 scaling = textureSize(u_layer0, 0) / textureSize(u_xray_error, 0); result = result * (1.0 - u_xray_error_strength) + u_xray_error_strength * texture(u_xray_error, v_uvs * scaling); @@ -126,8 +127,9 @@ fragment41core = result = layer0 * layer0.a + result * (1.0 - layer0.a); - float intersection_count = texture(u_layer2, v_uvs).r * 255.0; - if(mod(intersection_count, 2.0) >= 1.0) + float intersection_count = texture(u_layer2, v_uvs).r * 50; // 1 / .02 + float rest = mod(intersection_count, 2.0); + if (rest > 0.5 && rest < 1.5) { vec2 scaling = textureSize(u_layer0, 0) / textureSize(u_xray_error, 0); result = result * (1.0 - u_xray_error_strength) + u_xray_error_strength * texture(u_xray_error, v_uvs * scaling); |