System info & network
This commit is contained in:
30
shaders/2d.vert
Normal file
30
shaders/2d.vert
Normal file
@@ -0,0 +1,30 @@
|
||||
#version 430 core
|
||||
|
||||
layout (location = 0) in vec2 position;
|
||||
layout (location = 1) in vec4 color;
|
||||
layout (location = 2) in vec2 uv;
|
||||
|
||||
out 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
|
||||
|
||||
void main()
|
||||
{
|
||||
frag.position = position;
|
||||
frag.color = color;
|
||||
frag.uv = uv;
|
||||
|
||||
vec2 screen = vec2(width, height);
|
||||
|
||||
vec2 p = position / screen * 2.0 - 1.0; // Position relative to the screen size, in range [-1,+1)
|
||||
p.y = -p.y; // OpenGL coordinates have y up, pixel coordinates have y down
|
||||
|
||||
gl_Position = vec4(p, 0.0, 1.0);
|
||||
}
|
||||
Reference in New Issue
Block a user