mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-06 00:55:50 +00:00
e13eb625d3
Changes compared to old (Ogre) water: - Uses depth-texture readback to handle the underwater fog in the water shader, instead of handling it in the object shader - Different clipping mechanism (glClipPlane instead of a skewed viewing frustum) - Fixed bug where the reflection camera would look strange when the viewer was very close to the water surface - Toned down light scattering, made the waterColor a bit darker at night - Fixed flipped water normals and strange resulting logic in the shader Still to do: see comments...
23 lines
518 B
GLSL
23 lines
518 B
GLSL
#version 120
|
|
|
|
varying vec3 screenCoordsPassthrough;
|
|
varying vec4 position;
|
|
varying float depthPassthrough;
|
|
|
|
void main(void)
|
|
{
|
|
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
|
|
|
|
mat4 scalemat = mat4(0.5, 0.0, 0.0, 0.0,
|
|
0.0, -0.5, 0.0, 0.0,
|
|
0.0, 0.0, 0.5, 0.0,
|
|
0.5, 0.5, 0.5, 1.0);
|
|
|
|
vec4 texcoordProj = ((scalemat) * ( gl_Position));
|
|
screenCoordsPassthrough = vec3(texcoordProj.x, texcoordProj.y, texcoordProj.w);
|
|
|
|
position = gl_Vertex;
|
|
|
|
depthPassthrough = gl_Position.z;
|
|
}
|