39 lines
1.8 KiB
Plaintext
39 lines
1.8 KiB
Plaintext
#version 310 es
|
|
layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
|
|
|
|
layout(binding = 4, std140) uniform UBO
|
|
{
|
|
vec4 uInvSize;
|
|
vec4 uScale;
|
|
} _46;
|
|
|
|
layout(binding = 0) uniform mediump sampler2D uHeight;
|
|
layout(binding = 1) uniform mediump sampler2D uDisplacement;
|
|
layout(binding = 2, rgba16f) uniform writeonly mediump image2D iHeightDisplacement;
|
|
layout(binding = 3, rgba16f) uniform writeonly mediump image2D iGradJacobian;
|
|
|
|
void main()
|
|
{
|
|
vec4 _59 = (vec2(gl_GlobalInvocationID.xy) * _46.uInvSize.xy).xyxy + (_46.uInvSize * 0.5);
|
|
vec2 _67 = _59.xy;
|
|
mediump float _79 = textureLodOffset(uHeight, _67, 0.0, ivec2(-1, 0)).x;
|
|
float hp_copy_79 = _79;
|
|
mediump float _87 = textureLodOffset(uHeight, _67, 0.0, ivec2(1, 0)).x;
|
|
float hp_copy_87 = _87;
|
|
mediump float _94 = textureLodOffset(uHeight, _67, 0.0, ivec2(0, -1)).x;
|
|
float hp_copy_94 = _94;
|
|
mediump float _101 = textureLodOffset(uHeight, _67, 0.0, ivec2(0, 1)).x;
|
|
float hp_copy_101 = _101;
|
|
vec2 _128 = _59.zw;
|
|
vec2 _157 = ((textureLodOffset(uDisplacement, _128, 0.0, ivec2(1, 0)).xy - textureLodOffset(uDisplacement, _128, 0.0, ivec2(-1, 0)).xy) * 0.60000002384185791015625) * _46.uScale.z;
|
|
vec2 _161 = ((textureLodOffset(uDisplacement, _128, 0.0, ivec2(0, 1)).xy - textureLodOffset(uDisplacement, _128, 0.0, ivec2(0, -1)).xy) * 0.60000002384185791015625) * _46.uScale.z;
|
|
mediump float _203 = _157.y * _161.x;
|
|
float hp_copy_203 = _203;
|
|
float _209 = -hp_copy_203;
|
|
mediump float mp_copy_209 = _209;
|
|
ivec2 _172 = ivec2(gl_GlobalInvocationID.xy);
|
|
imageStore(iHeightDisplacement, _172, vec4(textureLod(uHeight, _67, 0.0).x, 0.0, 0.0, 0.0));
|
|
imageStore(iGradJacobian, _172, vec4((_46.uScale.xy * 0.5) * vec2(hp_copy_87 - hp_copy_79, hp_copy_101 - hp_copy_94), (1.0 + _157.x) * (1.0 + _161.y) + mp_copy_209, 0.0));
|
|
}
|
|
|