layout( points ) in;
layout( line_strip, max_vertices = 4 ) out;
in vData_Struct
{
vec4 vColour;
} vData[];
out vec2 gTexCoord;
out vec4 gColour;
uniform float u_Radius;
void main()
{
gl_Position = u_CameraProjection * (vec4(-u_Radius,0.0,0.0,0.0) + gl_in[0].gl_Position);
gColour = vData[0].vColour;
gTexCoord = vec2(-1.0,-1.0);
EmitVertex();
gl_Position = u_CameraProjection * (vec4(u_Radius,0.0,0.0,0.0) + gl_in[0].gl_Position);
gColour = vData[0].vColour;
gTexCoord = vec2(1.0,-1.0);
EmitVertex();
EndPrimitive();
gl_Position = u_CameraProjection * (vec4(0.0,-u_Radius,0.0,0.0) + gl_in[0].gl_Position);
gColour = vData[0].vColour;
gTexCoord = vec2(-1.0,1.0);
EmitVertex();
gl_Position = u_CameraProjection * (vec4(0.0,u_Radius,0.0,0.0) + gl_in[0].gl_Position);
gColour = vData[0].vColour;
gTexCoord = vec2(1.0,1.0);
EmitVertex();
EndPrimitive();
}