Files
imagine-composer/content/imagine.gdshader

23 lines
597 B
Plaintext

shader_type canvas_item;
uniform sampler2D ripples: repeat_enable;
uniform float warp;
uniform float time_scale = 0.1f;
vec3 hmap_normal(sampler2D hmap, vec2 uv) {
float eps = 0.01f;
float z = texture(hmap, uv).z;
return normalize(vec3(
(texture(hmap, uv + vec2(eps, 0)).z - z) / eps,
(texture(hmap, uv + vec2(0, eps)).z - z) / eps,
-1
));
}
void fragment() {
//vec3 normal = texture(ripples, UV + vec2(TIME * time_scale, 0)).xyz;
vec3 normal = hmap_normal(ripples, UV + vec2(TIME * time_scale, 0));
vec4 col = texture(TEXTURE, UV + normal.xy * warp).rgba;
COLOR.rgb = col.rgb;
}