1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #version 420 core
- layout(triangles) in;
- in gl_PerVertex {
- float gl_PointSize;
- } gl_in[];
- out gl_PerVertex {
- float gl_PointSize;
- };
- layout(line_strip) out;
- layout(max_vertices = 127) out;
- layout(invocations = 4) in;
- uniform sampler2D s2D;
- in vec2 coord[];
- int i;
- void main()
- {
- float p = gl_in[1].gl_PointSize;
- gl_PointSize = p;
- gl_ViewportIndex = 7;
- EmitStreamVertex(1);
- EndStreamPrimitive(0);
- EmitVertex();
- EndPrimitive();
- int id = gl_InvocationID;
- const ivec2 offsets[5] =
- {
- ivec2(0,1),
- ivec2(1,-2),
- ivec2(0,3),
- ivec2(-3,0),
- ivec2(2,1)
- };
- vec4 v = textureGatherOffset(s2D, coord[0], offsets[i].xy);
- }
|