added Std2D/3D material files.

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-10-07 20:09:16 +08:00
parent 86123827cb
commit 1f91ec94e1
7 changed files with 357 additions and 0 deletions

View File

@ -0,0 +1,38 @@
#Material
Name PureColor2D
Base Std2D
#MaterialInstance
Length 16
Stage Fragment
Code
{
vec4 Color
}
#Vertex
Code
{
void main()
{
HandoverMI();
gl_Position=GetPosition2D();
}
}
#Fragment
Output
{
vec4 Color
}
Code
{
void main()
{
MaterialInstance mi=GetMI();
Color=mi.Color;
}
}

View File

@ -0,0 +1,41 @@
#Material
Name PureTexture2D
Base Std2D
#Vertex
Input
{
vec2 TexCoord
}
Output
{
vec2 TexCoord
}
Code
{
void main()
{
Output.TexCoord=TexCoord;
gl_Position=GetPosition2D();
}
}
#Fragment
Sampler2D TextureColor
Output
{
vec4 Color;
}
Code
{
void main()
{
Color=texture(TextureColor,Input.TexCoord);
}
}

View File

@ -0,0 +1,70 @@
#Material
Name RectTexture2D
Base Std2D
Prim SolidRectangles,WireRectangles
#Vertex
Input
{
vec4 TexCoord
}
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 TextureColor
Output
{
vec4 Color;
}
Code
{
void main()
{
Color=texture(TextureColor,Input.TexCoord);
}
}

View File

@ -0,0 +1,81 @@
#Material
Name RectTexture2DArray
Base Std2D
Prim SolidRectangles,WireRectangles
#MaterialInstance
Length 16
Stage Fragment
Code
{
uvec4 id;
}
#Vertex
Input
{
vec4 TexCoord
}
Output
{
vec4 TexCoord
}
Code
{
void main()
{
HandoverMI();
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;
HandoverMI();gl_Position=vec4(vlt, vec2(0,1));Output.TexCoord=tlt; EmitVertex();
HandoverMI();gl_Position=vec4(vlt.x, vrb.y, vec2(0,1));Output.TexCoord=vec2(tlt.x,trb.y); EmitVertex();
HandoverMI();gl_Position=vec4(vrb.x, vlt.y, vec2(0,1));Output.TexCoord=vec2(trb.x,tlt.y); EmitVertex();
HandoverMI();gl_Position=vec4(vrb, vec2(0,1));Output.TexCoord=trb; EmitVertex();
EndPrimitive();
}
}
#Fragment
Sampler2DArray TextureColor
Output
{
vec4 Color;
}
Code
{
void main()
{
MaterialInstance mi=GetMI();
Color=texture(TextureColor,vec3(Input.TexCoord,mi.id.x));
}
}

View File

@ -0,0 +1,39 @@
#Material
Name VertexColor2D
Base Std2D
#Vertex
Input
{
vec4 Color
}
Output
{
vec4 Color
}
Code
{
void main()
{
Output.Color=Color;
gl_Position=GetPosition2D();
}
}
#Fragment
Output
{
vec4 Color;
}
Code
{
void main()
{
Color=Input.Color;
}
}

View File

@ -0,0 +1,39 @@
#Material
Name VertexColor3D
Base Std3D
#Vertex
Input
{
vec4 Color
}
Output
{
vec4 Color
}
Code
{
void main()
{
Output.Color=Color;
gl_Position=GetPosition3D();
}
}
#Fragment
Output
{
vec4 Color;
}
Code
{
void main()
{
Color=Input.Color;
}
}

View File

@ -0,0 +1,49 @@
#Material
Name VertexLum3D
Base Std3D
#MaterialInstance
Length 16
Stage Vertex
Code
{
vec4 Color
}
#Vertex
Input
{
float Luminance;
}
Output
{
vec4 Color
}
Code
{
void main()
{
MaterialInstance mi=GetMI();
Output.Color=Luminance*mi.Color;
gl_Position=GetPosition3D();
}
}
#Fragment
Output
{
vec4 Color;
}
Code
{
void main()
{
Color=Input.Color;
}
}