anchor.diff:              RestartBatch state env
               OpenGL.Hl.Assert ()
   
  -        // compute center
  -        let center = position + pivot
  -
           // compute a coord flipping value
           let flipper =
               match flip with
  
positive.code:             OpenGL.Gl.UniformMatrix4f (env.ViewProjectionUniform, 1, false, if env.State.Absolute then env.ViewProjectionAbsolute else env.ViewProjectionRelative)
              OpenGL.Gl.Uniform4 (env.PerimetersUniform, env.Perimeters)
              OpenGL.Gl.Uniform4 (env.TexCoordsesUniform, env.TexCoordses)
              OpenGL.Gl.Uniform2 (env.CentersUniform, env.Centers)
              OpenGL.Gl.Uniform1 (env.RotationsUniform, env.Rotations)
              OpenGL.Gl.Uniform4 (env.ColorsUniform, env.Colors)
              OpenGL.Gl.Uniform1i (env.TexUniform, 1, 0)
  
negative.code:         OpenGL.Hl.Assert (fn ())
          BeginBatch state env
  
      let private PopulateVertex (perimeter : Box2) (pivot : Vector2) (rotation : single) (texCoords : Box2) (color : Color) env =
          let perimeterOffset = env.SpriteIndex * 4
          env.Perimeters.[perimeterOffset] <- perimeter.Position.X
          env.Perimeters.[perimeterOffset + 1] <- perimeter.Position.Y
          env.Perimeters.[perimeterOffset + 2] <- perimeter.Size.X
          env.Perimeters.[perimeterOffset + 3] <- perimeter.Size.Y
          let pivotOffset = env.SpriteIndex * 2
          env.Pivots.[pivotOffset] <- pivot.X
          env.Pivots.[pivotOffset + 1] <- pivot.Y
          let rotationOffset = env.SpriteIndex
          env.Rotations.[rotationOffset] <- rotation
          let texCoordsOffset = env.SpriteIndex * 4
  