Updated water shaders to support darkening when out of LOS.
This was SVN commit r4269.
This commit is contained in:
parent
c4d478a690
commit
4a45724ef2
@ -12,8 +12,9 @@ uniform float murkiness;
|
||||
uniform float fullDepth;
|
||||
|
||||
varying vec3 worldPos;
|
||||
varying float waterDepth;
|
||||
varying float w;
|
||||
varying float waterDepth;
|
||||
varying float losMod;
|
||||
|
||||
const vec3 specularColor = vec3(0.15, 0.15, 0.15);
|
||||
|
||||
@ -53,7 +54,7 @@ void main()
|
||||
|
||||
specular = pow(max(0.0, ndoth), shininess) * sunColor * specularColor;
|
||||
|
||||
gl_FragColor.rgb = mix(refrColor + 0.3*specular, reflColor + specular, fresnel);
|
||||
gl_FragColor.rgb = mix(refrColor + 0.3*specular, reflColor + specular, fresnel) * losMod;
|
||||
|
||||
// Make alpha vary based on both depth (so it blends with the shore) and view angle (make it
|
||||
// become opaque faster at lower view angles so we can't look "underneath" the water plane)
|
||||
|
@ -2,15 +2,18 @@ uniform mat4 reflectionMatrix;
|
||||
uniform mat4 refractionMatrix;
|
||||
|
||||
attribute float vertexDepth;
|
||||
attribute float losMultiplier;
|
||||
|
||||
varying vec3 worldPos;
|
||||
varying float waterDepth;
|
||||
varying float w;
|
||||
varying float waterDepth;
|
||||
varying float losMod;
|
||||
|
||||
void main()
|
||||
{
|
||||
worldPos = gl_Vertex.xyz;
|
||||
waterDepth = vertexDepth;
|
||||
losMod = losMultiplier;
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
gl_TexCoord[1] = reflectionMatrix * gl_Vertex; // projective texturing
|
||||
gl_TexCoord[2] = reflectionMatrix * gl_Vertex;
|
||||
|
Loading…
Reference in New Issue
Block a user