anchor.diff:  
       /// Render sprite.
       static member renderSprite
  -        (viewAbsolute : Matrix3x3)
  -        (viewRelative : Matrix3x3)
  -        (_ : Vector2)
  -        (eyeSize : Vector2)
  -        (transform : Transform)
  -        (absolute : bool)
  -        (offset : Vector2)
  -        (insetOpt : Vector4 option)
  -        (image : Image AssetTag)
  -        (color : Color)
  -        (blend : Blend)
  -        (glow : Color)
  -        (flip : Flip)
  -        renderer =
  +        (viewAbsolute : Matrix3x3 inref,
  +         viewRelative : Matrix3x3 inref,
  +         _ : Vector2,
  +         eyeSize : Vector2,
  +         transform : Transform inref,
  +         absolute : bool,
  +         offset : Vector2,
  +         insetOpt : Vector4 option,
  +         image : Image AssetTag,
  +         color : Color inref,
  +         blend : Blend,
  +         glow : Color inref,
  +         flip : Flip,
  +         renderer) =
           let view = if absolute then viewAbsolute else viewRelative
           let position = transform.Position - Vector2.Multiply (offset, transform.Size)
           let positionView = position * view
  
positive.code:             let viewRelative = (Math.getViewRelativeI eyeCenter eyeSize).InvertedView ()
              messages.Sort SdlRenderer.compareDescriptors
              for message in messages do
                  SdlRenderer.renderDescriptor viewAbsolute viewRelative eyeCenter eyeSize message.RenderDescriptor renderer
          | _ ->
              Log.trace ("Render error - could not set render target to display buffer due to '" + SDL.SDL_GetError () + ".")
  
  
negative.code:             | _ -> Log.trace "Cannot render sprite with a non-texture asset."
          | _ -> Log.info ("SpriteDescriptor failed to render due to unloadable assets for '" + scstring image + "'.")
  
      static member private renderSpriteDescriptor (viewAbsolute : Matrix3x3 inref, viewRelative : Matrix3x3 inref, eyeCenter, eyeSize, sprite : SpriteDescriptor, renderer) =
          SdlRenderer.renderSprite
              (&viewAbsolute, &viewRelative, eyeCenter, eyeSize,
               &sprite.Transform, sprite.Absolute, sprite.Offset, sprite.InsetOpt, sprite.Image, &sprite.Color, sprite.Blend, &sprite.Glow, sprite.Flip,
               renderer)
  
      static member private renderSpriteDescriptors (viewAbsolute : Matrix3x3 inref, viewRelative : Matrix3x3 inref, eyeCenter, eyeSize, sprites, renderer) =
          for sprite in sprites do
              SdlRenderer.renderSpriteDescriptor (&viewAbsolute, &viewRelative, eyeCenter, eyeSize, sprite, renderer)
  
      /// Render tile layer.
      static member renderTileLayer
          (viewAbsolute : Matrix3x3 inref,
           viewRelative : Matrix3x3 inref,
           _ : Vector2,
           eyeSize : Vector2,
           transform : Transform inref,
           absolute : bool,
           color : Color inref,
           glow : Color inref,
           mapSize : Vector2i,
           tiles : TmxLayerTile array,
           tileSourceSize : Vector2i,
           tileSize : Vector2,
           tileAssets : (TmxTileset * Image AssetTag) array,
           renderer) =
          let view = if absolute then viewAbsolute else viewRelative
          let positionView = transform.Position * view
          let sizeView = transform.Size * view.ExtractScaleMatrix ()
  