-#ifndef _GLOW_EFFECT_H
-#define _GLOW_EFFECT_H 1
+#ifndef _MOVIT_GLOW_EFFECT_H
+#define _MOVIT_GLOW_EFFECT_H 1
// Glow: Cut out the highlights of the image (everything above a certain threshold),
// blur them, and overlay them onto the original image.
-//
-// FIXME: This might be broken after MixEffect started working in premultiplied alpha.
-// We need to think about how this is going to work, and then add a test.
+
+#include <GL/glew.h>
+#include <assert.h>
+#include <string>
#include "effect.h"
class BlurEffect;
-class MixEffect;
+class EffectChain;
class HighlightCutoffEffect;
+class MixEffect;
+class Node;
class GlowEffect : public Effect {
public:
HighlightCutoffEffect();
virtual std::string effect_type_id() const { return "HighlightCutoffEffect"; }
std::string output_fragment_shader();
+
+ virtual AlphaHandling alpha_handling() const { return INPUT_PREMULTIPLIED_ALPHA_KEEP_BLANK; }
private:
float cutoff;
};
-#endif // !defined(_GLOW_EFFECT_H)
+#endif // !defined(_MOVIT_GLOW_EFFECT_H)