anchor.diff:          OpenGL.Hl.Assert (fn ())
           BeginBatch state env
   
  -    let inline private PopulatePosition vertexId (position : Vector2) env =
  -        let positionOffset = env.SpriteIndex * 6 * 2 + vertexId * 2
  -        env.Positions.[positionOffset] <- position.X
  -        env.Positions.[positionOffset + 1] <- position.Y
  -
  -    let inline private PopulateTexCoordsAndColor (texCoords : Box2) (color : Color) 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
           env.TexCoordses.[texCoordsOffset] <- texCoords.Position.X
           env.TexCoordses.[texCoordsOffset + 1] <- texCoords.Position.Y
  
positive.code: 
          // grab uniform locations
          let viewProjectionUniform = OpenGL.Gl.GetUniformLocation (shader, "viewProjection")
          let positionsUniform = OpenGL.Gl.GetUniformLocation (shader, "positions")
          let texCoordsesUniform = OpenGL.Gl.GetUniformLocation (shader, "texCoordses")
          let colorsUniform = OpenGL.Gl.GetUniformLocation (shader, "colors")
          let texUniform = OpenGL.Gl.GetUniformLocation (shader, "tex")
          OpenGL.Hl.Assert ()
  
          // fin
          (viewProjectionUniform, positionsUniform, texCoordsesUniform, colorsUniform, texUniform, shader)
  
      let private BeginBatch state env =
          env.State <- state
  
negative.code:             RestartBatch state env
              OpenGL.Hl.Assert ()
  
          // compute center
          let center = position + pivot
  
          // compute a coord flipping value
          let flipper =
              match flip with
  