]> git.sesse.net Git - movit/blob - glow_effect.h
Make the HSV pickers keep the same luminance no matter what the saturation is. Makes...
[movit] / glow_effect.h
1 #ifndef _GLOW_EFFECT_H
2 #define _GLOW_EFFECT_H 1
3
4 // Glow: Simply add a blurred version of the image to itself.
5
6 #include "effect.h"
7
8 class BlurEffect;
9 class MixEffect;
10
11 class GlowEffect : public Effect {
12 public:
13         GlowEffect();
14         virtual std::string effect_type_id() const { return "GlowEffect"; }
15
16         virtual bool needs_srgb_primaries() const { return false; }
17
18         virtual void rewrite_graph(EffectChain *graph, Node *self);
19         virtual bool set_float(const std::string &key, float value);
20
21         virtual std::string output_fragment_shader() {
22                 assert(false);
23         }
24         virtual void set_gl_state(GLuint glsl_program_num, const std::string &prefix, unsigned *sampler_num) {
25                 assert(false);
26         }
27
28 private:
29         BlurEffect *blur;
30         MixEffect *mix;
31 };
32
33 #endif // !defined(_GLOW_EFFECT_H)