void OnRenderImage(RenderTexture source, RenderTexture destination)
 {
     if (_settings.shutterAngle > 0 && _settings.frameBlending > 0)
     {
         // Reconstruction and frame blending
         var temp = RenderTexture.GetTemporary(source.width, source.height, 0, source.format);
         _reconstructionFilter.ProcessImage(_settings.shutterAngle, _settings.sampleCount, source, temp);
         _frameBlendingFilter.BlendFrames(_settings.frameBlending, temp, destination);
         _frameBlendingFilter.PushFrame(temp);
         RenderTexture.ReleaseTemporary(temp);
     }
     else if (_settings.shutterAngle > 0)
     {
         // Reconstruction only
         _reconstructionFilter.ProcessImage(_settings.shutterAngle, _settings.sampleCount, source, destination);
     }
     else if (_settings.frameBlending > 0)
     {
         // Frame blending only
         _frameBlendingFilter.BlendFrames(_settings.frameBlending, source, destination);
         _frameBlendingFilter.PushFrame(source);
     }
     else
     {
         // Nothing to do!
         Graphics.Blit(source, destination);
     }
 }