28 lines
901 B
GLSL
28 lines
901 B
GLSL
#if (WATER_MODE == 1 || WATER_MODE == 3) && !defined SKY_VANILLA && (!defined NETHER || !defined NETHER_VANILLA)
|
|
uniform vec3 fogColor;
|
|
#endif
|
|
|
|
vec4 GetWaterFog(vec3 viewPos) {
|
|
float fog = length(viewPos) / waterFogRange;
|
|
fog = 1.0 - exp(-2.0 * fog);
|
|
|
|
#if WATER_MODE == 0 || WATER_MODE == 2
|
|
vec3 waterFogColor = waterColor.rgb * waterColor.a;
|
|
#elif WATER_MODE == 1 || WATER_MODE == 3
|
|
vec3 waterFogColor = fogColor * fogColor * 0.125;
|
|
#endif
|
|
waterFogColor *= WATER_F * WATER_F * (1.0 - max(blindFactor, darknessFactor));
|
|
|
|
#ifdef OVERWORLD
|
|
vec3 waterFogTint = lightCol * eBS * shadowFade * 0.9 + 0.1;
|
|
#endif
|
|
#ifdef NETHER
|
|
vec3 waterFogTint = netherCol.rgb;
|
|
#endif
|
|
#ifdef END
|
|
vec3 waterFogTint = endCol.rgb;
|
|
#endif
|
|
waterFogTint = sqrt(waterFogTint * length(waterFogTint));
|
|
|
|
return vec4(waterFogColor * waterFogTint, fog);
|
|
} |