generated from AfonsoCMSousa/CPP-OpenGLTemplate
19 lines
537 B
GLSL
19 lines
537 B
GLSL
#version 330 core
|
|
layout(location = 0) in vec3 aPos; // Position
|
|
layout(location = 1) in vec4 aColor; // Color (RGBA)
|
|
layout(location = 2) in float aLife; // Life
|
|
|
|
out vec4 vColor;
|
|
|
|
void main() {
|
|
float alpha = aLife;
|
|
if (aLife > 0.0) {
|
|
alpha = aLife / 10.0; // Fade mortal particles
|
|
} else if (aLife < 0.0) {
|
|
alpha = 1.0; // Eternal particles are fully opaque
|
|
}
|
|
vColor = vec4(aColor.rgb, aColor.a * alpha);
|
|
gl_Position = vec4(aPos, 1.0);
|
|
gl_PointSize = 10.0; // Make them big enough to see!
|
|
}
|