anchor.diff:          OpenGL.Hl.Assert ()
   
           // fin
  -        (viewProjectionUniform, perimetersUniform, centersUniform, rotationsUniform, texCoordsesUniform, colorsUniform, texUniform, shader)
  +        (viewProjectionUniform, perimetersUniform, pivotsUniform, rotationsUniform, texCoordsesUniform, colorsUniform, texUniform, shader)
   
       let private BeginBatch state env =
           env.State <- state
  
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:             | FlipHV -> v2 -1.0f 1.0f
  
          // populate vertices
          let perimeter = box2 position size
          PopulateVertex perimeter pivot rotation texCoords color env
  
          // advance sprite index
          env.SpriteIndex <- inc env.SpriteIndex
  