Browse Source

Fix legacy glsl shaders

By @smartavionics
fieldOfView 5 years ago
parent
commit
b2fc155c3b
2 changed files with 10 additions and 3 deletions
  1. 7 0
      resources/shaders/xray.shader
  2. 3 3
      resources/shaders/xray_composite.shader

+ 7 - 0
resources/shaders/xray.shader

@@ -12,6 +12,13 @@ vertex =
     }
 
 fragment =
+    #ifdef GL_ES
+        #ifdef GL_FRAGMENT_PRECISION_HIGH
+            precision highp float;
+        #else
+            precision mediump float;
+        #endif // GL_FRAGMENT_PRECISION_HIGH
+    #endif // GL_ES
     uniform vec4 u_color;
 
     void main()

+ 3 - 3
resources/shaders/xray_composite.shader

@@ -52,11 +52,11 @@ fragment =
 
         result = layer0 * layer0.a + result * (1.0 - layer0.a);
 
-        float intersection_count = texture2D(u_layer2, v_uvs).r * 51; // (1 / .02) + 1 (+1 magically fixes issues with high intersection count models)
+        float intersection_count = texture2D(u_layer2, v_uvs).r * 51.0; // (1 / .02) + 1 (+1 magically fixes issues with high intersection count models)
         float rest = mod(intersection_count + .01, 2.0);
-        if (rest > 1.0 && rest < 1.5 && intersection_count < 49)
+        if (rest > 1.0 && rest < 1.5 && intersection_count < 49.0)
         {
-            result = result * (1.0 - u_xray_error_strength) + u_xray_error_strength * texture(u_xray_error, v_uvs * u_xray_error_scale);
+            result = result * (1.0 - u_xray_error_strength) + u_xray_error_strength * texture2D(u_xray_error, v_uvs * u_xray_error_scale);
         }
 
         vec4 sum = vec4(0.0);