24 lines
1.1 KiB
GLSL
Executable File
24 lines
1.1 KiB
GLSL
Executable File
#version 430 core
|
|
|
|
layout (location = 0) out vec4 color;
|
|
layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord;
|
|
|
|
in vec4 particleColor;
|
|
|
|
uniform uint pixelWidth;
|
|
|
|
void main(void)
|
|
{
|
|
color = vec4(particleColor.xyz, 1.0f);
|
|
/*
|
|
color.r *= ((mod(gl_FragCoord.x, 8) != 0) && (mod(gl_FragCoord.y, 8) != 0) && (mod(gl_FragCoord.x, 8) != 1) && (mod(gl_FragCoord.y, 8) != 1))? 0 : 1;
|
|
color.g *= ((mod(gl_FragCoord.x, 8) != 2) && (mod(gl_FragCoord.y, 8) != 2) && (mod(gl_FragCoord.x, 8) != 3) && (mod(gl_FragCoord.y, 8) != 3))? 0 : 1;
|
|
color.b *= ((mod(gl_FragCoord.x, 8) != 4) && (mod(gl_FragCoord.y, 8) != 4) && (mod(gl_FragCoord.x, 8) != 5) && (mod(gl_FragCoord.y, 8) != 5))? 0 : 1;
|
|
*/
|
|
float mx = mod(roundEven(gl_FragCoord.x), 4 * pixelWidth);
|
|
float my = mod(roundEven(gl_FragCoord.y), 4 * pixelWidth);
|
|
|
|
color.r *= ((mx < pixelWidth) && (my < pixelWidth * 3)) ? 0.8 : 0.3;
|
|
color.g *= ((mx > pixelWidth && mx < pixelWidth * 2) && (my < pixelWidth * 3)) ? 1 : 0.4;
|
|
color.b *= ((mx > pixelWidth * 2 && mx < pixelWidth * 3) && (my < pixelWidth * 3)) ? 1 : 0.4;
|
|
} |