mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-28 00:56:37 +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;
 | |
| }
 |