RuntimeData/shader/DrawRect2D.geom

23 lines
758 B
Plaintext
Raw Normal View History

#version 450 core
layout (points) in;
layout (triangle_strip,max_vertices=4) out;
2020-07-08 15:43:51 +08:00
layout(location=0) in vec4 GeometryTexCoord[];
layout(location=0) out vec2 FragmentTexCoord;
void main()
{
2020-07-08 15:43:51 +08:00
vec2 vlt=gl_in[0].gl_Position.xy;
vec2 vrb=gl_in[0].gl_Position.zw;
vec2 tlt=GeometryTexCoord[0].xy;
vec2 trb=GeometryTexCoord[0].zw;
2020-07-08 15:43:51 +08:00
gl_Position=vec4(vlt, vec2(0,1));FragmentTexCoord=tlt; EmitVertex();
gl_Position=vec4(vlt.x, vrb.y, vec2(0,1));FragmentTexCoord=vec2(tlt.x,trb.y); EmitVertex();
gl_Position=vec4(vrb.x, vlt.y, vec2(0,1));FragmentTexCoord=vec2(trb.x,tlt.y); EmitVertex();
gl_Position=vec4(vrb, vec2(0,1));FragmentTexCoord=trb; EmitVertex();
EndPrimitive();
}