|
- #version 450 core
-
- #pragma include ./shared.glsl
- #pragma include ../misc/camera.glsl
-
- layout (location = 0) in vec2 inPosMin;
- layout (location = 1) in vec2 inPosMax;
- layout (location = 2) in vec2 inTexMin;
- layout (location = 3) in vec2 inTexMax;
- layout (location = 4) in vec4 inColor;
-
- layout (location = 2) uniform vec2 uOffset;
-
- out VertexData vertexData;
-
- void main() {
- mat4 ortho = mat4(
- vec4(2.0 / uCamera.size.x, 0.0, 0.0, 0.0),
- vec4(0.0, -2.0 / uCamera.size.y, 0.0, 0.0),
- vec4(0.0, 0.0, 1.0, 0.0),
- vec4(-1.0, 1.0, 1.0, 1.0)
- );
-
- vertexData.posMin = (ortho * vec4(inPosMin + uOffset, 0.0, 1.0)).xy;
- vertexData.posMax = (ortho * vec4(inPosMax + uOffset, 0.0, 1.0)).xy;
- vertexData.texMin = inTexMin;
- vertexData.texMax = inTexMax;
- vertexData.color = inColor;
- }
|