| #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 */ |