#ifndef PRESET_MERGE_HPP
#define PRESET_MERGE_HPP

#include "Preset.hpp"
#include "Pipeline.hpp"
#include "RenderItemMatcher.hpp"
#include "RenderItemMergeFunction.hpp"


class PipelineMerger
{
  template <class T> inline static T lerp(T a, T b, float ratio)
  {
    return a * ratio + b * (1 - ratio);
  }

public:

  static void mergePipelines(const Pipeline &a,  const Pipeline &b, Pipeline &out,
                             RenderItemMatcher::MatchResults & matching,
                             RenderItemMergeFunction & merger, float ratio);

private:

  static const double s;
  static const double e;

};


#endif  /*  PRESET_MERGE_HPP  */
