18 lines
414 B
GLSL
18 lines
414 B
GLSL
shader_type spatial;
|
|
|
|
uniform sampler2D water_heights;
|
|
|
|
|
|
float read_height(sampler2D tex, vec2 uv) {
|
|
return texture(tex, uv).r + texture(tex, uv).g / 255.0;
|
|
}
|
|
|
|
void fragment() {
|
|
ALBEDO = vec3(0.5, 0.7, 1.0) * (read_height(water_heights, UV) - 0.6) * 3.0;
|
|
}
|
|
|
|
void vertex() {
|
|
float vertex_distance = length(VERTEX) * 0.06;
|
|
|
|
VERTEX += NORMAL * (read_height(water_heights, UV) * 40.0 - pow(2, vertex_distance));
|
|
} |