|
- #version 450 core
-
- #pragma include ./shared.glsl
-
- in VertexData vertexData[];
-
- layout (points) in;
- layout (triangle_strip, max_vertices = 4) out;
-
- layout (location = 2) uniform vec2 uOffset;
-
- out FragmentData fragmentData;
-
- void main() {
- VertexData d = vertexData[0];
-
- gl_Position = vec4(vec2(d.posMin.x, d.posMax.y), 0.0, 1.0);
- fragmentData.texCoords = vec2(d.texMin.x, d.texMax.y);
- fragmentData.color = d.color;
- EmitVertex();
-
- gl_Position = vec4(vec2(d.posMin.x, d.posMin.y), 0.0, 1.0);
- fragmentData.texCoords = vec2(d.texMin.x, d.texMin.y);
- fragmentData.color = d.color;
- EmitVertex();
-
- gl_Position = vec4(vec2(d.posMax.x, d.posMax.y), 0.0, 1.0);
- fragmentData.texCoords = vec2(d.texMax.x, d.texMax.y);
- fragmentData.color = d.color;
- EmitVertex();
-
- gl_Position = vec4(vec2(d.posMax.x, d.posMin.y), 0.0, 1.0);
- fragmentData.texCoords = vec2(d.texMax.x, d.texMin.y);
- fragmentData.color = d.color;
- EmitVertex();
-
- EndPrimitive();
- }
|