supercell-wx/scwx-qt/gl/map_color.vert
2023-08-11 00:45:42 -05:00

23 lines
528 B
GLSL

#version 330 core
layout (location = 0) in vec2 aScreenCoord;
layout (location = 1) in vec2 aXYOffset;
layout (location = 2) in vec4 aColor;
uniform mat4 uMVPMatrix;
uniform mat4 uMapMatrix;
uniform vec2 uMapScreenCoord;
out vec4 color;
void main()
{
// Pass the color to the fragment shader
color = aColor;
vec2 p = aScreenCoord - uMapScreenCoord;
// Transform the position to screen coordinates
gl_Position = uMapMatrix * vec4(p, 0.0f, 1.0f) +
uMVPMatrix * vec4(aXYOffset, 0.0f, 0.0f);
}