43 lines
929 B
GLSL
43 lines
929 B
GLSL
#version 450
|
|
|
|
vec2 temp_pos;
|
|
vec4 temp_color;
|
|
|
|
// layout(location = 0) out vec4 out_var_TEXCOORD0;
|
|
layout(location = 0) out vec4 outColor;
|
|
|
|
void main()
|
|
{
|
|
vec4 color;
|
|
vec2 pos;
|
|
|
|
if (uint(gl_VertexIndex) == 0u)
|
|
{
|
|
color = vec4(1.0, 0.0, 0.0, 1.0);
|
|
pos = vec2(-0.5);
|
|
}
|
|
else
|
|
{
|
|
vec4 vert_color;
|
|
vec2 vert_pos;
|
|
if (uint(gl_VertexIndex) == 1u)
|
|
{
|
|
vert_color = vec4(0.0, 1.0, 0.0, 1.0);
|
|
vert_pos = vec2(0.5, -0.5);
|
|
}
|
|
else
|
|
{
|
|
bool index_exists = uint(gl_VertexIndex) == 2u;
|
|
vert_color = mix(temp_color, vec4(0.0, 0.0, 1.0, 1.0), bvec4(index_exists));
|
|
vert_pos = mix(temp_pos, vec2(0.0, 0.5), bvec2(index_exists));
|
|
}
|
|
color = vert_color;
|
|
pos = vert_pos;
|
|
}
|
|
|
|
// out_var_TEXCOORD0 = color;
|
|
outColor = color;
|
|
gl_Position = vec4(pos, 0.0, 1.0);
|
|
}
|
|
|