System info & network
This commit is contained in:
38
shaders/2d.frag
Normal file
38
shaders/2d.frag
Normal file
@@ -0,0 +1,38 @@
|
||||
#version 430 core
|
||||
|
||||
in Fragment
|
||||
{
|
||||
// @Performance: Are this fields aligned to vec4? Is it better to reorder them?
|
||||
vec2 position;
|
||||
vec4 color;
|
||||
vec2 uv;
|
||||
} frag;
|
||||
|
||||
uniform int width; // Width of the screen in pixels
|
||||
uniform int height; // Height of the screen in pixels
|
||||
|
||||
uniform int has_texture0;
|
||||
uniform sampler2D texture0;
|
||||
uniform int texture_channels0;
|
||||
uniform vec4 color0;
|
||||
|
||||
out vec4 FragColor;
|
||||
|
||||
void main()
|
||||
{
|
||||
FragColor = frag.color;
|
||||
|
||||
if(has_texture0 != 0)
|
||||
{
|
||||
vec4 texture_color;
|
||||
if(texture_channels0 == 1)
|
||||
texture_color = vec4(1.0, 1.0, 1.0, texture(texture0, frag.uv).r);
|
||||
else if(texture_channels0 == 3)
|
||||
texture_color = vec4(texture(texture0, frag.uv).rgb, 1.0);
|
||||
else
|
||||
texture_color = texture(texture0, frag.uv);
|
||||
|
||||
FragColor = color0 * frag.color * texture_color;
|
||||
FragColor.rgb *= FragColor.a; // Premultiplied alpha
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user