mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 19:56:38 +00:00 
			
		
		
		
	Use `gl_FragCoords` instead passing the normalised screen-space coordinates to the fragment shader in a numerically unstable way.
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			461 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			461 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 120
 | |
| 
 | |
| uniform mat4 projectionMatrix;
 | |
| 
 | |
| varying vec4  position;
 | |
| varying float linearDepth;
 | |
| 
 | |
| #include "shadows_vertex.glsl"
 | |
| #include "depth.glsl"
 | |
| 
 | |
| void main(void)
 | |
| {
 | |
|     gl_Position = projectionMatrix * (gl_ModelViewMatrix * gl_Vertex);
 | |
| 
 | |
|     position = gl_Vertex;
 | |
| 
 | |
|     vec4 viewPos = gl_ModelViewMatrix * gl_Vertex;
 | |
|     linearDepth = getLinearDepth(gl_Position.z, viewPos.z);
 | |
| 
 | |
|     setupShadowCoords(viewPos, normalize((gl_NormalMatrix * gl_Normal).xyz));
 | |
| }
 |