uniform vec2 u_dimension; in vec2 a_pos; out vec2 v_pos; void main() { gl_Position = projectTile(a_pos, a_pos); highp vec2 epsilon = 1.0 / u_dimension; float scale = (u_dimension.x - 2.0) / u_dimension.x; v_pos = (a_pos / 8192.0) * scale + epsilon; // North pole if (a_pos.y < -32767.5) { v_pos.y = 0.0; } // South pole if (a_pos.y > 32766.5) { v_pos.y = 1.0; } }