anchor.diff:               "  int vertexId = gl_VertexID % VERTS;"
                "  vec2 position;"
                "  vec4 perimeter = perimeters[spriteId];"
  -             "  vec2 center = centers[spriteId];"
  +             "  vec2 pivot = pivots[spriteId];"
                "  float rotation = rotations[spriteId];"
                "  vec4 texCoords4 = texCoordses[spriteId];"
                "  switch (vertexId)"
  
positive.code:         OpenGL.Hl.Assert (fn ())
          BeginBatch state env
  
      let private PopulateVertex (position : Vector2) (size : Vector2) (center : Vector2) (rotation : single) (texCoords : Box2) (color : Color) env =
          let perimeterOffset = env.SpriteIndex * 4
          env.Perimeters.[perimeterOffset] <- position.X
          env.Perimeters.[perimeterOffset + 1] <- position.Y
          env.Perimeters.[perimeterOffset + 2] <- size.X
          env.Perimeters.[perimeterOffset + 3] <- size.Y
          let centerOffset = env.SpriteIndex * 2
          env.Centers.[centerOffset] <- center.X
          env.Centers.[centerOffset + 1] <- center.Y
          let rotationOffset = env.SpriteIndex
          env.Rotations.[rotationOffset] <- rotation
          let texCoordsOffset = env.SpriteIndex * 4
  
negative.code:         // grab uniform locations
          let viewProjectionUniform = OpenGL.Gl.GetUniformLocation (shader, "viewProjection")
          let perimetersUniform = OpenGL.Gl.GetUniformLocation (shader, "perimeters")
          let pivotsUniform = OpenGL.Gl.GetUniformLocation (shader, "pivots")
          let rotationsUniform = OpenGL.Gl.GetUniformLocation (shader, "rotations")
          let texCoordsesUniform = OpenGL.Gl.GetUniformLocation (shader, "texCoordses")
          let colorsUniform = OpenGL.Gl.GetUniformLocation (shader, "colors")
  