precision highp float; attribute vec3 land; uniform float time; //used for noise uniform float world_x; uniform float world_y; uniform mat4 MV; uniform mat4 P; varying vec2 worldxy; varying mat4 pre; void main() { worldxy = vec2(world_x, world_y); pre = P * MV; gl_Position = P * MV * vec4(land.x - world_x, land.y - world_y, 0., 1.0); }