30 lines
697 B
GLSL
30 lines
697 B
GLSL
#version 430 core
|
|
layout (points) in;
|
|
layout (triangle_strip, max_vertices = 4) out;
|
|
|
|
//in vec4 vBackPoss[];
|
|
uniform vec2 lightPos;
|
|
uniform mat4 worldMat;
|
|
|
|
void main()
|
|
{
|
|
vec4 posaa = worldMat * vec4(gl_in[0].gl_Position.xy, 0 ,1);
|
|
vec4 posba = worldMat * vec4(gl_in[0].gl_Position.zw, 0 ,1);
|
|
vec2 posa = posaa.xy;
|
|
vec2 posb = posba.xy;
|
|
|
|
// vec2 posc = vBackPoss[0].xy;
|
|
// vec2 posd = vBackPoss[0].zw;
|
|
|
|
gl_Position = vec4 (posb, 0 , 1);
|
|
EmitVertex();
|
|
gl_Position = vec4 (posb + (200 * (posb - lightPos)), 0 , 1);
|
|
EmitVertex();
|
|
gl_Position = vec4 (posa, 0 , 1);
|
|
EmitVertex();
|
|
gl_Position = vec4 (posa + (200 * (posa - lightPos)), 0 , 1);
|
|
EmitVertex();
|
|
|
|
EndPrimitive();
|
|
}
|