uniform mat4 PROJECTION_MATRIX;
uniform mat4 VIEW_MATRIX;
uniform mat4 WORLD_MATRIX;

attribute vec4 vertex_position;

varying vec4 fragment_position;

void main()
{
  mat4 MODELVIEW = VIEW_MATRIX * WORLD_MATRIX;
  mat4 MVP = PROJECTION_MATRIX * MODELVIEW;

  gl_Position = MVP * vertex_position;
  fragment_position = MVP * vertex_position;
}