mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-09 03:39:14 +00:00
28 lines
941 B
GLSL
28 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);
|
|
}
|