update DrawRect2D shaders
This commit is contained in:
parent
09f5818143
commit
9ce56221ff
@ -3,15 +3,20 @@
|
|||||||
layout (points) in;
|
layout (points) in;
|
||||||
layout (triangle_strip,max_vertices=4) out;
|
layout (triangle_strip,max_vertices=4) out;
|
||||||
|
|
||||||
|
layout(location=0) in vec4 GeometryTexCoord[];
|
||||||
|
layout(location=0) out vec2 FragmentTexCoord;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec2 lt=gl_in[0].gl_Position.xy;
|
vec2 vlt=gl_in[0].gl_Position.xy;
|
||||||
vec2 rb=gl_in[0].gl_Position.zw;
|
vec2 vrb=gl_in[0].gl_Position.zw;
|
||||||
|
vec2 tlt=GeometryTexCoord[0].xy;
|
||||||
|
vec2 trb=GeometryTexCoord[0].zw;
|
||||||
|
|
||||||
gl_Position=vec4(lt, vec2(0,1));EmitVertex();
|
gl_Position=vec4(vlt, vec2(0,1));FragmentTexCoord=tlt; EmitVertex();
|
||||||
gl_Position=vec4(lt.x,rb.y, vec2(0,1));EmitVertex();
|
gl_Position=vec4(vlt.x, vrb.y, vec2(0,1));FragmentTexCoord=vec2(tlt.x,trb.y); EmitVertex();
|
||||||
gl_Position=vec4(rb.x,lt.y, vec2(0,1));EmitVertex();
|
gl_Position=vec4(vrb.x, vlt.y, vec2(0,1));FragmentTexCoord=vec2(trb.x,tlt.y); EmitVertex();
|
||||||
gl_Position=vec4(rb, vec2(0,1));EmitVertex();
|
gl_Position=vec4(vrb, vec2(0,1));FragmentTexCoord=trb; EmitVertex();
|
||||||
|
|
||||||
EndPrimitive();
|
EndPrimitive();
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#version 450 core
|
#version 450 core
|
||||||
|
|
||||||
layout(location = 0) in vec4 Vertex;
|
layout(location = 0) in vec4 Vertex;
|
||||||
|
layout(location = 1) in vec4 TexCoord;
|
||||||
|
|
||||||
layout(binding=0) uniform WorldMatrix // hgl/math/Math.h
|
layout(binding=0) uniform WorldMatrix // hgl/math/Math.h
|
||||||
{
|
{
|
||||||
@ -20,6 +21,8 @@ layout(binding=0) uniform WorldMatrix // hgl/math/Math.h
|
|||||||
vec2 viewport_resolution;
|
vec2 viewport_resolution;
|
||||||
}world;
|
}world;
|
||||||
|
|
||||||
|
layout(location=0) out vec4 GeometryTexCoord;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec4 lt=vec4(Vertex.xy,vec2(0,1));
|
vec4 lt=vec4(Vertex.xy,vec2(0,1));
|
||||||
@ -28,5 +31,7 @@ void main()
|
|||||||
vec4 lt_fin=lt*world.ortho;
|
vec4 lt_fin=lt*world.ortho;
|
||||||
vec4 rb_fin=rb*world.ortho;
|
vec4 rb_fin=rb*world.ortho;
|
||||||
|
|
||||||
|
GeometryTexCoord=TexCoord;
|
||||||
|
|
||||||
gl_Position=vec4(lt_fin.xy,rb_fin.xy);
|
gl_Position=vec4(lt_fin.xy,rb_fin.xy);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user