1.add DrawRect2D.vert/.geom shaders
2.add AlphaMask.frag shader
This commit is contained in:
parent
d672a741d5
commit
09f5818143
16
shader/AlphaMask.frag
Normal file
16
shader/AlphaMask.frag
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#version 450 core
|
||||||
|
|
||||||
|
layout(binding = 2) uniform sampler2D tex;
|
||||||
|
|
||||||
|
layout(location = 0) in vec2 FragmentTexCoord;
|
||||||
|
layout(location = 0) out vec4 FragColor;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 color=texture(tex,FragmentTexCoord);
|
||||||
|
|
||||||
|
if(color.a<0.3)
|
||||||
|
discard;
|
||||||
|
|
||||||
|
FragColor=vec4(color.rgb,1);
|
||||||
|
}
|
17
shader/DrawRect2D.geom
Normal file
17
shader/DrawRect2D.geom
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#version 450 core
|
||||||
|
|
||||||
|
layout (points) in;
|
||||||
|
layout (triangle_strip,max_vertices=4) out;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec2 lt=gl_in[0].gl_Position.xy;
|
||||||
|
vec2 rb=gl_in[0].gl_Position.zw;
|
||||||
|
|
||||||
|
gl_Position=vec4(lt, vec2(0,1));EmitVertex();
|
||||||
|
gl_Position=vec4(lt.x,rb.y, vec2(0,1));EmitVertex();
|
||||||
|
gl_Position=vec4(rb.x,lt.y, vec2(0,1));EmitVertex();
|
||||||
|
gl_Position=vec4(rb, vec2(0,1));EmitVertex();
|
||||||
|
|
||||||
|
EndPrimitive();
|
||||||
|
}
|
32
shader/DrawRect2D.vert
Normal file
32
shader/DrawRect2D.vert
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#version 450 core
|
||||||
|
|
||||||
|
layout(location = 0) in vec4 Vertex;
|
||||||
|
|
||||||
|
layout(binding=0) uniform WorldMatrix // hgl/math/Math.h
|
||||||
|
{
|
||||||
|
mat4 ortho;
|
||||||
|
|
||||||
|
mat4 projection;
|
||||||
|
mat4 inverse_projection;
|
||||||
|
|
||||||
|
mat4 modelview;
|
||||||
|
mat4 inverse_modelview;
|
||||||
|
|
||||||
|
mat4 mvp;
|
||||||
|
mat4 inverse_mvp;
|
||||||
|
|
||||||
|
vec4 view_pos;
|
||||||
|
vec2 canvas_resolution;
|
||||||
|
vec2 viewport_resolution;
|
||||||
|
}world;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 lt=vec4(Vertex.xy,vec2(0,1));
|
||||||
|
vec4 rb=vec4(Vertex.zw,vec2(0,1));
|
||||||
|
|
||||||
|
vec4 lt_fin=lt*world.ortho;
|
||||||
|
vec4 rb_fin=rb*world.ortho;
|
||||||
|
|
||||||
|
gl_Position=vec4(lt_fin.xy,rb_fin.xy);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user