|
- #version 450 core
-
- #pragma include ./shared.glsl
- #pragma include ../misc/glow.glsl
- #pragma include ../misc/global.glsl
-
- const GlowArgs GLOW_ARGS = {
- /* step0 */ 0.100,
- /* step1 */ 0.900,
- /* pulseSize0 */ 0.050,
- /* pulseSize1 */ 0.100,
- /* pulseTime */ 2.000,
- };
-
- in FragmentData fragmentData;
- flat in int textureId;
-
- uniform sampler2D uTexture[3];
-
- out vec4 outColor;
-
- void main() {
- float alpha = glow(GLOW_ARGS, fragmentData.texCoords, uGlobal.time);
- vec4 glow = vec4(fragmentData.color, GLOW_ALPHA * alpha);
- vec4 tex = texture(uTexture[textureId], 0.5 * GLOW_SIZE * fragmentData.texCoords + vec2(0.5));
-
- outColor = tex * tex.a + glow * (1.0 - tex.a);
- }
|