Rotate placefile icons

This commit is contained in:
Dan Paulat 2023-08-05 01:28:34 -05:00
parent e66c202edf
commit 6c0b62709f
4 changed files with 29 additions and 3 deletions

View file

@ -5,12 +5,13 @@
#define LONGITUDE_MAX 180.0f
#define PI 3.1415926535897932384626433f
#define RAD2DEG 57.295779513082320876798156332941f
#define DEG2RAD 0.0174532925199432957692369055556f
layout (location = 0) in vec2 aLatLong;
layout (location = 1) in vec2 aXYOffset;
layout (location = 2) in vec2 aTexCoord;
layout (location = 3) in vec4 aModulate;
layout (location = 4) in float aAngle;
layout (location = 4) in float aAngleDeg;
uniform mat4 uMVPMatrix;
uniform mat4 uMapMatrix;
@ -36,7 +37,12 @@ void main()
vec2 p = latLngToScreenCoordinate(aLatLong) - uMapScreenCoord;
// Rotate clockwise
float angle = aAngleDeg * DEG2RAD;
mat2 rotate = mat2(cos(angle), -sin(angle),
sin(angle), cos(angle));
// Transform the position to screen coordinates
gl_Position = uMapMatrix * vec4(p, 0.0f, 1.0f) +
uMVPMatrix * vec4(aXYOffset, 0.0f, 0.0f);
uMVPMatrix * vec4(rotate * aXYOffset, 0.0f, 0.0f);
}