mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 00:56:39 +00:00 
			
		
		
		
	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...
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			518 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			22 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;
 | 
						|
}
 |