diff options
Diffstat (limited to 'indra/newview/app_settings/shaders')
18 files changed, 57 insertions, 57 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl index ce018623a8..1a065daf89 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/aoUtil.glsl @@ -78,10 +78,10 @@ float calcAmbientOcclusion(vec4 pos, vec3 norm, vec2 pos_screen)  {      float ret = 1.0;      vec3 pos_world = pos.xyz; -    vec2 noise_reflect = texture(noiseMap, pos_screen.xy * (screen_res / 128)).xy; +    vec2 noise_reflect = texture(noiseMap, pos_screen.xy * (screen_res / 128.0)).xy;      float angle_hidden = 0.0; -    float points = 0; +    float points = 0.0;      float scale = min(ssao_radius / -pos_world.z, ssao_max_radius); diff --git a/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl index 94711be473..d32455d70c 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl @@ -253,7 +253,7 @@ vec4 texture2DLodSpecular(vec2 tc, float lod)      vec2 dist = vec2(0.5) - abs(tc-vec2(0.5));      float det = min(lod/(proj_lod*0.5), 1.0);      float d = min(dist.x, dist.y); -    d *= min(1, d * (proj_lod - lod)); // BUG? extra factor compared to diffuse causes N repeats +    d *= min(1.0, d * (proj_lod - lod)); // BUG? extra factor compared to diffuse causes N repeats      float edge = 0.25*det;      ret *= clamp(d/edge, 0.0, 1.0); @@ -371,7 +371,7 @@ void pbrIbl(vec3 diffuseColor,              out vec3 specularOut)  {      // retrieve a scale and bias to F0. See [1], Figure 3 -    vec2 brdf = BRDF(clamp(nv, 0, 1), 1.0-perceptualRough); +    vec2 brdf = BRDF(clamp(nv, 0.0, 1.0), 1.0-perceptualRough);      vec3 diffuseLight = irradiance;      vec3 specularLight = radiance; @@ -617,7 +617,7 @@ uniform float waterSign;  void waterClip(vec3 pos)  {      // TODO: make this less branchy -    if (waterSign > 0) +    if (waterSign > 0.0)      {          if ((dot(pos.xyz, waterPlane.xyz) + waterPlane.w) < 0.0)          { diff --git a/indra/newview/app_settings/shaders/class1/deferred/globalF.glsl b/indra/newview/app_settings/shaders/class1/deferred/globalF.glsl index 2ed4ba3163..9060d358cf 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/globalF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/globalF.glsl @@ -34,7 +34,7 @@ uniform float clipSign;  void mirrorClip(vec3 pos)  { -    if (mirror_flag > 0) +    if (mirror_flag > 0.0)      {          if ((dot(pos.xyz, clipPlane.xyz) + clipPlane.w) < 0.0)          { diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbrterrainUtilF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbrterrainUtilF.glsl index dc43007dca..fb4b139662 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbrterrainUtilF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbrterrainUtilF.glsl @@ -297,7 +297,7 @@ vec3 _t_normal_post_1(vec3 vNt0, float sign_or_zero)      sign = (2.0*sign) + 1.0;      sign /= abs(sign);      // If the sign is negative, rotate normal by 180 degrees -    vNt1.xy = (min(0, sign) * vNt1.xy) + (min(0, -sign) * -vNt1.xy); +    vNt1.xy = (min(0.0, sign) * vNt1.xy) + (min(0.0, -sign) * -vNt1.xy);      return vNt1;  } diff --git a/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl b/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl index 72eda80716..bfb592be9b 100644 --- a/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl +++ b/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl @@ -49,7 +49,7 @@ void main()      float warmth = smoothstep(minLuminance, minLuminance+1.0, max(col.r * warmthWeights.r, max(col.g * warmthWeights.g, col.b * warmthWeights.b)) );  #if HAS_NOISE -    float TRUE_NOISE_RES = 128; // See mTrueNoiseMap +    float TRUE_NOISE_RES = 128.0; // See mTrueNoiseMap      // *NOTE: Usually this is vary_fragcoord not vary_texcoord0, but glow extraction is in screen space      vec3 glow_noise = texture(glowNoiseMap, vary_texcoord0.xy * (screen_res / TRUE_NOISE_RES)).xyz;      // Dithering. Reduces banding effects in the reduced precision glow buffer. diff --git a/indra/newview/app_settings/shaders/class1/interface/gaussianF.glsl b/indra/newview/app_settings/shaders/class1/interface/gaussianF.glsl index 09eb7a6a6a..82f32da048 100644 --- a/indra/newview/app_settings/shaders/class1/interface/gaussianF.glsl +++ b/indra/newview/app_settings/shaders/class1/interface/gaussianF.glsl @@ -45,7 +45,7 @@ void main()      for (int i = 0; i < 9; ++i)      { -        vec2 tc = vary_texcoord0 + (i-4)*direction*resScale; +        vec2 tc = vary_texcoord0 + float(i-4)*direction*resScale;          col += texture(diffuseRect, tc).rgb * w[i];      } diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsFuncs.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsFuncs.glsl index 205d4bff6d..02108a9ec1 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsFuncs.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsFuncs.glsl @@ -99,7 +99,7 @@ void calcAtmosphericVars(vec3 inPositionEye, vec3 light_dir, float ambFactor, ou      haze_glow = max(haze_glow, .001);  // set a minimum "angle" (smaller glow.y allows tighter, brighter hotspot)      haze_glow *= glow.x;      // higher glow.x gives dimmer glow (because next step is 1 / "angle") -    haze_glow = clamp(pow(haze_glow, glow.z), -100000, 100000); +    haze_glow = clamp(pow(haze_glow, glow.z), -100000.0, 100000.0);      // glow.z should be negative, so we're doing a sort of (1 / "angle") function      // add "minimum anti-solar illumination" diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl index 1372ddbcfa..bdc5b58060 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl @@ -47,7 +47,7 @@ void calcAtmospherics(vec3 inPositionEye) {      vec3 tmpaddlit = vec3(1);      vec3 tmpattenlit = vec3(1);      vec3 light_dir = (sun_up_factor == 1) ? sun_dir : moon_dir; -    calcAtmosphericVars(inPositionEye, light_dir, 1, tmpsunlit, tmpamblit, tmpaddlit, tmpattenlit); +    calcAtmosphericVars(inPositionEye, light_dir, 1.0, tmpsunlit, tmpamblit, tmpaddlit, tmpattenlit);      setSunlitColor(tmpsunlit);      setAmblitColor(tmpamblit);      setAdditiveColor(tmpaddlit); diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl index cc9d72fae6..50b40e9c20 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl @@ -80,7 +80,7 @@ float getAmbientClamp();  void mirrorClip(vec3 pos); -void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv, +void sampleReflectionProbesLegacy(out vec3 ambenv, out vec3 glossenv, out vec3 legacyenv,          vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear);  vec3 calcPointLightOrSpotLight(vec3 light_col, vec3 diffuse, vec3 v, vec3 n, vec4 lp, vec3 ln, float la, float fa, float is_pointlight, float ambiance) @@ -148,7 +148,7 @@ vec3 calcPointLightOrSpotLight(vec3 light_col, vec3 diffuse, vec3 v, vec3 n, vec          float lit = 0.0f;          float amb_da = 0.0;//ambiance; -        if (da > 0) +        if (da > 0.0)          {              lit = clamp(da * dist_atten, 0.0, 1.0);              col = lit * light_col * diffuse; diff --git a/indra/newview/app_settings/shaders/class2/deferred/reflectionProbeF.glsl b/indra/newview/app_settings/shaders/class2/deferred/reflectionProbeF.glsl index c43582e185..2657b2b54e 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/reflectionProbeF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/reflectionProbeF.glsl @@ -56,7 +56,7 @@ vec4 sampleReflectionProbesDebug(vec3 pos)      return vec4(0, 0, 0, 0);  } -void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv, +void sampleReflectionProbesLegacy(out vec3 ambenv, out vec3 glossenv, out vec3 legacyenv,          vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear)  {      ambenv = mix(ambenv, vec3(reflection_probe_ambiance * 0.25), reflection_probe_ambiance); diff --git a/indra/newview/app_settings/shaders/class3/deferred/fullbrightShinyF.glsl b/indra/newview/app_settings/shaders/class3/deferred/fullbrightShinyF.glsl index 03dc3d7113..5e38864d38 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/fullbrightShinyF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/fullbrightShinyF.glsl @@ -48,7 +48,7 @@ vec3 linear_to_srgb(vec3 c);  vec3 srgb_to_linear(vec3 c);  // reflection probe interface -void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv, +void sampleReflectionProbesLegacy(out vec3 ambenv, out vec3 glossenv, out vec3 legacyenv,          vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear);  void applyLegacyEnv(inout vec3 color, vec3 legacyenv, vec4 spec, vec3 pos, vec3 norm, float envIntensity); diff --git a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl index 5708fc319f..f8803f1a29 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl @@ -62,7 +62,7 @@ out vec4 frag_color;  float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen);  #endif -void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv, +void sampleReflectionProbesLegacy(out vec3 ambenv, out vec3 glossenv, out vec3 legacyenv,          vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear);  void applyGlossEnv(inout vec3 color, vec3 glossenv, vec4 spec, vec3 pos, vec3 norm);  void applyLegacyEnv(inout vec3 color, vec3 legacyenv, vec4 spec, vec3 pos, vec3 norm, float envIntensity); @@ -138,7 +138,7 @@ vec3 calcPointLightOrSpotLight(vec3 light_col, vec3 npos, vec3 diffuse, vec4 spe          float lit = 0.0f;          float amb_da = ambiance; -        if (da >= 0) +        if (da >= 0.0)          {              lit = clamp(da * dist_atten, 0.0, 1.0);              col = lit * light_col * diffuse; @@ -159,10 +159,10 @@ vec3 calcPointLightOrSpotLight(vec3 light_col, vec3 npos, vec3 diffuse, vec4 spe              float nv = dot(n, npos);              float vh = dot(npos, h);              float sa = nh; -            float fres = pow(1 - dot(h, npos), 5)*0.4 + 0.5; +            float fres = pow(1.0 - dot(h, npos), 5.0)*0.4 + 0.5; -            float gtdenom = 2 * nh; -            float gt = max(0, min(gtdenom * nv / vh, gtdenom * da / vh)); +            float gtdenom = 2.0 * nh; +            float gt = max(0.0, min(gtdenom * nv / vh, gtdenom * da / vh));              if (nh > 0.0)              { @@ -225,7 +225,7 @@ vec3 getNormal(inout float glossiness)  #ifdef HAS_NORMAL_MAP      vec4 vNt = texture(bumpMap, vary_texcoord1.xy);      glossiness *= vNt.a; -    vNt.xyz = vNt.xyz * 2 - 1; +    vNt.xyz = vNt.xyz * 2.0 - 1.0;      float sign = vary_sign;      vec3 vN = vary_normal;      vec3 vT = vary_tangent.xyz; @@ -284,10 +284,10 @@ float getShadow(vec3 pos, vec3 norm)      #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND)          return sampleDirectionalShadow(pos, norm, vary_texcoord0.xy);      #else -        return 1; +        return 1.;      #endif  #else -    return 1; +    return 1.;  #endif  } @@ -377,9 +377,9 @@ void main()              float lit = min(nl*6.0, 1.0);              float sa = nh; -            float fres = pow(1 - vh, 5) * 0.4+0.5; -            float gtdenom = 2 * nh; -            float gt = max(0,(min(gtdenom * nv / vh, gtdenom * nl / vh))); +            float fres = pow(1.0 - vh, 5.0) * 0.4+0.5; +            float gtdenom = 2.0 * nh; +            float gt = max(0.0,(min(gtdenom * nv / vh, gtdenom * nl / vh)));              float scol = shadow*fres*texture(lightFunc, vec2(nh, glossiness)).r*gt/(nh*nl);              color.rgb += lit*scol*sunlit_linear.rgb*spec.rgb; @@ -396,7 +396,7 @@ void main()          applyLegacyEnv(color, legacyenv, spec, pos.xyz, norm.xyz, env);          float cur_glare = max(max(legacyenv.r, legacyenv.g), legacyenv.b); -        cur_glare = clamp(cur_glare, 0, 1); +        cur_glare = clamp(cur_glare, 0.0, 1.0);          cur_glare *= env;          glare += cur_glare;      } diff --git a/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl index 96cda1ef49..b11c2644aa 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl @@ -153,10 +153,10 @@ void main()                      if (spec.a > 0.0)                      {                          lit        = min(nl * 6.0, 1.0) * dist_atten; -                        float fres = pow(1 - vh, 5) * 0.4 + 0.5; +                        float fres = pow(1.0 - vh, 5.0) * 0.4 + 0.5; -                        float gtdenom = 2 * nh; -                        float gt      = max(0, min(gtdenom * nv / vh, gtdenom * nl / vh)); +                        float gtdenom = 2.0 * nh; +                        float gt      = max(0.0, min(gtdenom * nv / vh, gtdenom * nl / vh));                          if (nh > 0.0)                          { diff --git a/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl index ceb37f36a5..6a248f25bc 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl @@ -134,9 +134,9 @@ void main()              lit = min(nl*6.0, 1.0) * dist_atten;              float sa = nh; -            float fres = pow(1 - vh, 5) * 0.4+0.5; -            float gtdenom = 2 * nh; -            float gt = max(0,(min(gtdenom * nv / vh, gtdenom * nl / vh))); +            float fres = pow(1.0 - vh, 5.0) * 0.4+0.5; +            float gtdenom = 2.0 * nh; +            float gt = max(0.0,(min(gtdenom * nv / vh, gtdenom * nl / vh)));              if (nh > 0.0)              { diff --git a/indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl b/indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl index 136b3dd966..2f577f8459 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl @@ -839,7 +839,7 @@ vec4 sampleReflectionProbesDebug(vec3 pos)      return col;  } -void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv, +void sampleReflectionProbesLegacy(out vec3 ambenv, out vec3 glossenv, out vec3 legacyenv,          vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit)  {      float reflection_lods = max_probe_lod; diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl index aac75a0739..2e288184bf 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl @@ -69,7 +69,7 @@ vec3  scaleSoftClipFragLinear(vec3 l);  // reflection probe interface  void sampleReflectionProbes(inout vec3 ambenv, inout vec3 glossenv,      vec2 tc, vec3 pos, vec3 norm, float glossiness, bool transparent, vec3 amblit_linear); -void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv, +void sampleReflectionProbesLegacy(out vec3 ambenv, out vec3 glossenv, out vec3 legacyenv,          vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear);  void applyGlossEnv(inout vec3 color, vec3 glossenv, vec4 spec, vec3 pos, vec3 norm);  void applyLegacyEnv(inout vec3 color, vec3 legacyenv, vec4 spec, vec3 pos, vec3 norm, float envIntensity); diff --git a/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl index a46e3688dc..017f8bc844 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl @@ -199,7 +199,7 @@ void main()              proj_tc.x > 0.0 &&              proj_tc.y > 0.0)          { -            float amb_da = 0; +            float amb_da = 0.0;              float lit = 0.0;              if (nl > 0.0) @@ -222,10 +222,10 @@ void main()          {              dlit *= min(nl*6.0, 1.0) * dist_atten; -            float fres = pow(1 - vh, 5)*0.4+0.5; +            float fres = pow(1.0 - vh, 5.0)*0.4+0.5; -            float gtdenom = 2 * nh; -            float gt = max(0, min(gtdenom * nv / vh, gtdenom * nl / vh)); +            float gtdenom = 2.0 * nh; +            float gt = max(0.0, min(gtdenom * nv / vh, gtdenom * nl / vh));              if (nh > 0.0)              { @@ -259,7 +259,7 @@ void main()                          stc.x > 0.0 &&                          stc.y > 0.0)                      { -                        final_color += color.rgb * texture2DLodSpecular(stc.xy, (1 - spec.a) * (proj_lod * 0.6)).rgb * shadow * envIntensity; +                        final_color += color.rgb * texture2DLodSpecular(stc.xy, (1.0 - spec.a) * (proj_lod * 0.6)).rgb * shadow * envIntensity;                      }                  }              } diff --git a/indra/newview/app_settings/shaders/class3/environment/waterF.glsl b/indra/newview/app_settings/shaders/class3/environment/waterF.glsl index c56e38d016..028813ef23 100644 --- a/indra/newview/app_settings/shaders/class3/environment/waterF.glsl +++ b/indra/newview/app_settings/shaders/class3/environment/waterF.glsl @@ -189,7 +189,7 @@ void main()      vB = cross(vN, vT);      vec3 pos = vary_position.xyz; -    float linear_depth = 1 / -pos.z; +    float linear_depth = 1.0 / -pos.z;      float dist = length(pos.xyz); @@ -220,10 +220,10 @@ void main()      calculateFresnelFactors(df3, df2, normalize(view.xyz), wave1, wave2, wave3, wavef); -    vec3 waver = wavef*3; +    vec3 waver = wavef*3.0;      vec3 up = transform_normal(vec3(0,0,1)); -    float vdu = -dot(viewVec, up)*2; +    float vdu = -dot(viewVec, up)*2.0;      vec3 wave_ibl = wavef * normScale;      wave_ibl.z *= 2.0; @@ -231,7 +231,7 @@ void main()      vec3 norm = transform_normal(normalize(wavef)); -    vdu = clamp(vdu, 0, 1); +    vdu = clamp(vdu, 0.0, 1.0);      //wavef.z *= max(vdu*vdu*vdu, 0.1);      wavef = normalize(wavef); @@ -243,7 +243,7 @@ void main()      dist = max(dist, 5.0);      //figure out distortion vector (ripply) -    vec2 distort2 = distort + waver.xy * refScale / max(dmod, 1.0) * 2; +    vec2 distort2 = distort + waver.xy * refScale / max(dmod, 1.0) * 2.0;      distort2 = clamp(distort2, vec2(0), vec2(0.999)); @@ -256,15 +256,15 @@ void main()  #endif      vec3 sunlit_linear = srgb_to_linear(sunlit); -    float fade = 0; +    float fade = 0.0;  #ifdef TRANSPARENT_WATER      float depth = texture(depthMap, distort).r;      vec3 refPos = getPositionWithNDC(vec3(distort*2.0-vec2(1.0), depth*2.0-1.0));      // Calculate some distance fade in the water to better assist with refraction blending and reducing the refraction texture's "disconnect". -    fade = max(0,min(1, (pos.z - refPos.z) / 10)) * water_mask; -    distort2 = mix(distort, distort2, min(1, fade * 10)); +    fade = max(0.0,min(1.0, (pos.z - refPos.z) / 10.0)) * water_mask; +    distort2 = mix(distort, distort2, min(1.0, fade * 10.0));      depth = texture(depthMap, distort2).r;      refPos = getPositionWithNDC(vec3(distort2 * 2.0 - vec2(1.0), depth * 2.0 - 1.0)); @@ -279,13 +279,13 @@ void main()  #else      vec4 fb = applyWaterFogViewLinear(viewVec*2048.0, vec4(1.0)); -    if (water_mask < 1) +    if (water_mask < 1.0)          discard;  #endif      float metallic = 1.0;      float perceptualRoughness = blurMultiplier; -    float gloss      = 1 - perceptualRoughness; +    float gloss      = 1.0 - perceptualRoughness;      vec3  irradiance = vec3(0);      vec3  radiance  = vec3(0); @@ -311,7 +311,7 @@ void main()      float NdotV = clamp(abs(dot(norm, v)), 0.001, 1.0); -    float nl = 0; +    float nl = 0.0;      vec3 diffPunc = vec3(0);      vec3 specPunc = vec3(0); @@ -321,23 +321,23 @@ void main()      radiance *= df2.y;      //radiance = toneMapNoExposure(radiance);      vec3 color = vec3(0); -    color = mix(fb.rgb, radiance, min(1, df2.x)) + punctual.rgb; +    color = mix(fb.rgb, radiance, min(1.0, df2.x)) + punctual.rgb; -    float water_haze_scale = 4; +    float water_haze_scale = 4.0;      if (classic_mode > 0) -        water_haze_scale = 1; +        water_haze_scale = 1.0;      // This looks super janky, but we do this to restore water haze in the distance.      // These values were finagled in to try and bring back some of the distant brightening on legacy water.  Also works reasonably well on PBR skies such as PBR midday.      // color = mix(color, additive * water_haze_scale, (1 - atten));      // We shorten the fade here at the shoreline so it doesn't appear too soft from a distance. -    fade *= 60; -    fade = min(1, fade); +    fade *= 60.0; +    fade = min(1.0, fade);      color = mix(fb.rgb, color, fade); -    float spec = min(max(max(punctual.r, punctual.g), punctual.b), 0); +    float spec = min(max(max(punctual.r, punctual.g), punctual.b), 0.0);      frag_color = min(vec4(1),max(vec4(color.rgb, spec * water_mask), vec4(0)));  } | 
