Files
loop/shader/wallShadow.geom
T
2021-02-28 21:26:20 +01:00

30 lines
698 B
GLSL

#version 430 core
layout (points) in;
layout (triangle_strip, max_vertices = 10) 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();
}