69 lines
1.1 KiB
Plaintext
69 lines
1.1 KiB
Plaintext
#Material
|
|
Name RectTexture2D
|
|
Base Std2D
|
|
Prim SolidRectangles,WireRectangles
|
|
|
|
#VertexInput
|
|
vec4 TexCoord
|
|
|
|
#Vertex
|
|
Output
|
|
{
|
|
vec4 TexCoord
|
|
}
|
|
|
|
Code
|
|
{
|
|
void main()
|
|
{
|
|
Output.TexCoord=TexCoord;
|
|
|
|
gl_Position=GetPosition2D();
|
|
}
|
|
}
|
|
|
|
#Geometry
|
|
in points
|
|
out triangle_strip,4
|
|
|
|
Output
|
|
{
|
|
vec2 TexCoord
|
|
}
|
|
|
|
Code
|
|
{
|
|
void main()
|
|
{
|
|
vec2 vlt=gl_in[0].gl_Position.xy;
|
|
vec2 vrb=gl_in[0].gl_Position.zw;
|
|
vec2 tlt=Input[0].TexCoord.xy;
|
|
vec2 trb=Input[0].TexCoord.zw;
|
|
|
|
gl_Position=vec4(vlt, vec2(0,1));Output.TexCoord=tlt; EmitVertex();
|
|
gl_Position=vec4(vlt.x, vrb.y, vec2(0,1));Output.TexCoord=vec2(tlt.x,trb.y); EmitVertex();
|
|
gl_Position=vec4(vrb.x, vlt.y, vec2(0,1));Output.TexCoord=vec2(trb.x,tlt.y); EmitVertex();
|
|
gl_Position=vec4(vrb, vec2(0,1));Output.TexCoord=trb; EmitVertex();
|
|
|
|
EndPrimitive();
|
|
}
|
|
}
|
|
|
|
|
|
#Fragment
|
|
|
|
sampler2D TextureBaseColor
|
|
|
|
Output
|
|
{
|
|
vec4 FragColor;
|
|
}
|
|
|
|
Code
|
|
{
|
|
void main()
|
|
{
|
|
FragColor=texture(TextureBaseColor,Input.TexCoord);
|
|
}
|
|
}
|