X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=glow_effect.h;fp=glow_effect.h;h=7ee164dceab630d2d1ab2f7573ce4f581bbb037a;hp=0000000000000000000000000000000000000000;hb=ef7665d0d3854b3464800d8d7fef9a90f14d9a9f;hpb=1e2d23133575fc1cfeb14652e4b383883bf24512 diff --git a/glow_effect.h b/glow_effect.h new file mode 100644 index 0000000..7ee164d --- /dev/null +++ b/glow_effect.h @@ -0,0 +1,32 @@ +#ifndef _GLOW_EFFECT_H +#define _GLOW_EFFECT_H 1 + +// Glow: Simply add a blurred version of the image to itself. + +#include "effect.h" + +class BlurEffect; +class MixEffect; + +class GlowEffect : public Effect { +public: + GlowEffect(); + + virtual bool needs_srgb_primaries() const { return false; } + + virtual void add_self_to_effect_chain(EffectChain *chain, const std::vector &input); + virtual bool set_float(const std::string &key, float value); + + virtual std::string output_fragment_shader() { + assert(false); + } + virtual void set_gl_state(GLuint glsl_program_num, const std::string &prefix, unsigned *sampler_num) { + assert(false); + } + +private: + BlurEffect *blur; + MixEffect *mix; +}; + +#endif // !defined(_GLOW_EFFECT_H)