#version 410 core

precision highp float;

out vec4 FragColor;

in vec2 textureCoordinates;

uniform sampler2D tex_wave; //wave
uniform sampler2D tex_damp; //damping
uniform sampler1D tex_palette; //colour palette

void main(){
	vec4 color = texture(tex_wave, textureCoordinates);
	float damping = texture(tex_damp, textureCoordinates).r;
	//Debugging: top line
	//Running: bottom line
	//float damping_color = (1. - damping)*60;
	float damping_color = (1. - damping);
	vec4 damp_color = vec4(0.2,  0.2, 0.2, 1.);
	vec4 palette_color = texture(tex_palette, 0.5 + color.r);
	vec4 final_color = damping_color * damp_color + (1. - damping_color) * palette_color;
	//FragColor = vec4((0.25*(1.+color.r)+0.25)*damping + damping_color*0.2, damping_color*0.2, damping_color*0.2, 1.);
	FragColor = final_color;
}