mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 12:56:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			941 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			941 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #include "core.h"
 | |
| #include "watersim_common.h"
 | |
| 
 | |
|     SH_BEGIN_PROGRAM
 | |
|         shInput(float2, UV)
 | |
|         shSampler2D(heightCurrentSampler)
 | |
|         shUniform(float4, rippleTextureSize) @shSharedParameter(rippleTextureSize, rippleTextureSize)
 | |
| 
 | |
|     SH_START_PROGRAM
 | |
|     {
 | |
| 		float2 offset[4] = float2[4] (
 | |
| 			vec2(-1.0, 0.0),
 | |
| 			vec2( 1.0, 0.0),
 | |
| 			vec2( 0.0,-1.0),
 | |
| 			vec2( 0.0, 1.0)
 | |
| 		);
 | |
| 
 | |
| 		float fHeightL = DecodeHeightmap(heightCurrentSampler, UV.xy + offset[0]*rippleTextureSize.xy);
 | |
| 		float fHeightR = DecodeHeightmap(heightCurrentSampler, UV.xy + offset[1]*rippleTextureSize.xy);
 | |
| 		float fHeightT = DecodeHeightmap(heightCurrentSampler, UV.xy + offset[2]*rippleTextureSize.xy);
 | |
| 		float fHeightB = DecodeHeightmap(heightCurrentSampler, UV.xy + offset[3]*rippleTextureSize.xy);
 | |
| 		
 | |
| 		float3 n = float3(fHeightB - fHeightT, fHeightR - fHeightL, 1.0);
 | |
| 		float3 normal = (n + 1.0) * 0.5;
 | |
| 		
 | |
| 		shOutputColour(0) = float4(normal.rgb, 1.0);
 | |
|     }
 |