1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #version 330 layout (location = 0) out vec3 gPosition; layout (location = 1) out vec4 gNormalAndShadow; //gNormalAndShadow = vec4(Normal, IsShadow); layout (location = 2) out vec4 gColor; uniform vec4 color; void main() { if (length(gl_PointCoord - vec2(0.5, 0.5)) > 0.5) { discard; } gColor = color; vec2 xy = (gl_PointCoord - vec2(0.5, 0.5))/0.5; float z = sqrt(1 - length(xy)*length(xy)); gNormalAndShadow = vec4(xy, z, 0); } |