mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-01-08 14:24:52 +07:00
55 lines
1.3 KiB
GLSL
55 lines
1.3 KiB
GLSL
#define HIGHP
|
|
|
|
#define S1 vec4(96.0, 131.0, 66.0, 255.0) / 255.0
|
|
#define S2 vec3(132.0, 169.0, 79.0) / 255.0
|
|
#define S3 vec3(210.0, 221.0, 118.0) / 255.0
|
|
|
|
#define NSCALE 170.0 / 2.0
|
|
#define DSCALE 160.0 / 2.0
|
|
|
|
uniform sampler2D u_texture;
|
|
uniform sampler2D u_noise;
|
|
|
|
uniform vec2 u_campos;
|
|
uniform vec2 u_resolution;
|
|
uniform float u_time;
|
|
|
|
varying vec2 v_texCoords;
|
|
|
|
void main(){
|
|
vec2 c = v_texCoords.xy;
|
|
vec2 coords = (c * u_resolution) + u_campos;
|
|
|
|
vec4 orig = texture2D(u_texture, c);
|
|
|
|
float atime = u_time / 15000.0;
|
|
float noise = (texture2D(u_noise, (coords) / DSCALE + vec2(atime) * vec2(-0.9, 0.8)).r + texture2D(u_noise, (coords) / DSCALE + vec2(atime * 1.1) * vec2(0.8, -1.0)).r) / 2.0;
|
|
|
|
noise = abs(noise - 0.5) * 7.0 + 0.23;
|
|
|
|
float btime = u_time / 9000.0;
|
|
|
|
c += (vec2(
|
|
texture2D(u_noise, (coords) / NSCALE + vec2(btime) * vec2(-0.9, 0.8)).r,
|
|
texture2D(u_noise, (coords) / NSCALE + vec2(btime * 1.1) * vec2(0.8, -1.0)).r
|
|
) - vec2(0.5)) * 20.0 / u_resolution;
|
|
|
|
vec4 color = texture2D(u_texture, c);
|
|
|
|
if(noise > 0.85){
|
|
if(color.g >= (S2).g - 0.1){
|
|
color.rgb = S3;
|
|
}else{
|
|
color.rgb = S2;
|
|
}
|
|
}else if(noise > 0.5){
|
|
color.rgb = S2;
|
|
}
|
|
|
|
if(orig.g > 0.01){
|
|
color = max(S1, color);
|
|
}
|
|
|
|
gl_FragColor = color;
|
|
}
|