anchor.diff:              | _ -> Log.trace "Cannot render particle with a non-texture asset."
           | _ -> Log.info ("RenderDescriptors failed to render due to unloadable assets for '" + scstring image + "'.")
   
  -    static member private renderParticlesDescriptor viewAbsolute viewRelative eyeCenter eyeSize (particles : ParticlesDescriptor) renderer =
  +    static member private renderParticlesDescriptor (viewAbsolute : Matrix3x3 inref, viewRelative : Matrix3x3 inref, eyeCenter, eyeSize, particles : ParticlesDescriptor, renderer) =
           SdlRenderer.renderParticles
  -            viewAbsolute viewRelative eyeCenter eyeSize
  -            particles.Elevation particles.PositionY particles.Absolute particles.Blend particles.Image particles.Particles
  -            renderer
  +            (&viewAbsolute, &viewRelative, eyeCenter, eyeSize,
  +             particles.Elevation, particles.PositionY, particles.Absolute, particles.Blend, particles.Image, particles.Particles,
  +             renderer)
   
       static member private renderDescriptor
  -        (viewAbsolute : Matrix3x3)
  -        (viewRelative : Matrix3x3)
  -        (eyeCenter : Vector2)
  -        (eyeSize : Vector2)
  -        descriptor
  -        renderer =
  +        (viewAbsolute : Matrix3x3 inref,
  +         viewRelative : Matrix3x3 inref,
  +         eyeCenter : Vector2,
  +         eyeSize : Vector2,
  +         descriptor,
  +         renderer) =
           match descriptor with
  -        | SpriteDescriptor sprite -> SdlRenderer.renderSpriteDescriptor viewAbsolute viewRelative eyeCenter eyeSize sprite renderer
  -        | SpritesDescriptor sprites -> SdlRenderer.renderSpriteDescriptors viewAbsolute viewRelative eyeCenter eyeSize sprites renderer
  -        | TileLayerDescriptor descriptor -> SdlRenderer.renderTileLayerDescriptor viewAbsolute viewRelative eyeCenter eyeSize descriptor renderer
  -        | TextDescriptor descriptor -> SdlRenderer.renderTextDescriptor viewAbsolute viewRelative eyeCenter eyeSize descriptor renderer
  -        | ParticlesDescriptor descriptor -> SdlRenderer.renderParticlesDescriptor viewAbsolute viewRelative eyeCenter eyeSize descriptor renderer
  +        | SpriteDescriptor sprite -> SdlRenderer.renderSpriteDescriptor (&viewAbsolute, &viewRelative, eyeCenter, eyeSize, sprite, renderer)
  +        | SpritesDescriptor sprites -> SdlRenderer.renderSpriteDescriptors (&viewAbsolute, &viewRelative, eyeCenter, eyeSize, sprites, renderer)
  +        | TileLayerDescriptor descriptor -> SdlRenderer.renderTileLayerDescriptor (&viewAbsolute, &viewRelative, eyeCenter, eyeSize, descriptor, renderer)
  +        | TextDescriptor descriptor -> SdlRenderer.renderTextDescriptor (&viewAbsolute, &viewRelative, eyeCenter, eyeSize, descriptor, renderer)
  +        | ParticlesDescriptor descriptor -> SdlRenderer.renderParticlesDescriptor (&viewAbsolute, &viewRelative, eyeCenter, eyeSize, descriptor, renderer)
           | RenderCallback callback -> callback viewAbsolute viewRelative eyeCenter eyeSize renderer
   
       static member private renderLayeredMessages eyeCenter eyeSize (messages : RenderLayeredMessage List) renderer =
  
positive.code: 
      /// 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 =
          let view = if absolute then viewAbsolute else viewRelative
          let position = transform.Position - Vector2.Multiply (offset, transform.Size)
          let positionView = position * view
  
negative.code:             | _ -> Log.debug "Cannot render text with a non-font asset."
          | _ -> Log.info ("TextDescriptor failed due to unloadable assets for '" + scstring font + "'.")
  
      static member private renderTextDescriptor (viewAbsolute : Matrix3x3 inref, viewRelative : Matrix3x3 inref, eyeCenter, eyeSize, text : TextDescriptor, renderer) =
          SdlRenderer.renderText
              (&viewAbsolute, &viewRelative, eyeCenter, eyeSize,
               &text.Transform, text.Absolute, text.Text, text.Font, &text.Color, text.Justification,
               renderer)
  
      /// Render particles.
      static member renderParticles
          (viewAbsolute : Matrix3x3 inref,
           viewRelative : Matrix3x3 inref,
           _ : Vector2,
           eyeSize : Vector2,
           _ : single,
           _ : single,
           absolute : bool,
           blend : Blend,
           image : Image AssetTag,
           particles : ParticleDescriptor array,
           renderer) =
          let view = if absolute then viewAbsolute else viewRelative
          let positionOffset = -(v2Zero * view)
          let blend = Blend.toSdlBlendMode blend
  