sdf-2d/src/graphics/rendering/shaders/random-fs.glsl
schmelczerandras 7bfad8711b Add textures
2020-10-04 10:48:26 +02:00

34 lines
671 B
GLSL

#version 300 es
precision lowp float;
in vec2 uvCoordinates;
uniform float scale;
uniform float amplitude;
float noise(float x){
return fract(sin(x) * 43758.5453123) / 100.0;
}
float terrain(float x) {
float result = 0.0;
float frequency = 0.01;
float amplitude = 1.0;
const float pi = 3.141592654;
for (int i = 0; i < 8; i++) {
result += sin(2.0 * pi * x * frequency - 2.0 * pi * noise(float(i) * 200.0)) * amplitude;
frequency *= 1.5;
amplitude /= 1.2;
}
return result;
}
out vec4 fragmentColor;
void main() {
fragmentColor = vec4(vec3(terrain(uvCoordinates.x * scale) * amplitude + 0.5), 1.0);
}