#version 330 core

in vec2 texCoords;

flat in int id;

const int numParticles = 1;

layout (location = 0) out vec4 FragColor;
layout (location = 1) out vec4 BrightColor;

struct Texture{
	float mixRatio;
	sampler2D pastTexture, nextTexture;
	bool animated;
};

uniform Texture tex;
uniform float lifePercentage[500];
uniform vec4 startColor, endColor;

void main(){
	float alpha = texture(tex.pastTexture, texCoords).r;

	if(tex.animated)
		alpha = mix(alpha, texture(tex.nextTexture, texCoords).r, tex.mixRatio);

	vec4 c = (alpha > 0 ? mix(startColor, endColor, alpha) : vec4(0));
	FragColor = c;

	float brightness = dot(c.rgb, vec3(0.2126, 0.7152, 0.0722));

	if(brightness > 1)
		BrightColor = vec4(c.rgb, 1);
}
