anchor.diff:          let spriteBatchEnvOpt =
               if glow.A <> 0.0f then
                   Gl.Hl.AugmentSpriteBatch
  -                    centerOffset positionOffset sizeView rotation color coords
  +                    centerInverse positionInverse sizeInverse rotation color coords
                       texture flip Gl.BlendingFactorSrc.SrcAlpha Gl.BlendingFactorDest.One
                       renderer.RenderSpriteTexUniform renderer.RenderSpriteProgram spriteBatchEnvOpt
               else spriteBatchEnvOpt
  
positive.code: 
      static member private renderSpriteInline // TODO: 3D: inline this after testing.
          centerOffset positionOffset sizeView rotation (inset : Box2) textureMetadata texture (color : Color) (glow : Color) flip renderer spriteBatchEnvOpt =
  
          // compute coords
          let coords =
  
negative.code:         let viewScale = Matrix3x3.ExtractScaleMatrix &view
          let perimeter = transform.Perimeter
          let center = perimeter.Center.V2
          let centerView = Matrix3x3.Multiply (&center, &view)
          let centerOffset = centerView + v2 eyeMargin.X -eyeMargin.Y
          let position = perimeter.Position.V2
          let positionView = Matrix3x3.Multiply (&position, &view)
          let positionOffset = positionView + v2 eyeMargin.X -eyeMargin.Y
          let rotation = transform.Angles.X
          let size = perimeter.Size.V2
          let sizeView = Matrix3x3.Multiply (&size, &viewScale)
          let image = AssetTag.generalize image
          let blend = Blend.toSdlBlendMode blend
          match GlRenderer2d.tryFindRenderAsset image renderer with
  