Revision control
++ attribute highp vec3 vertexPosition;
++ attribute highp vec3 vertexOffset;
++
++ uniform highp mat4 modelViewProjection;
++ uniform highp vec3 globalOffset;
++ uniform int extraYOffset;
++ uniform bool reverseOffset;
++
++ void main()
++ {
++ vec4 offset = vec4(globalOffset, 0.0) + vec4(0.0f, float(extraYOffset), 0.0f, 0.0f);
++ if (reverseOffset)
++ offset *= -1.0f;
++ gl_Position = modelViewProjection
++ * (vec4(vertexPosition, 1.0) + offset + vec4(vertexOffset, 0.0));
++ // Set the Z value of the vertex so that it'll always get drawn on top of everything else
++ gl_Position.z = -1.0;
++ }