Clementine-audio-player-Mac.../3rdparty/libprojectm/PipelineMerger.hpp

29 lines
560 B
C++

#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