Try to adjust the mip levels to get box blur for free as needed.
[movit] / blur_effect.h
1 #ifndef _BLUR_EFFECT_H
2 #define _BLUR_EFFECT_H 1
3
4 #include "effect.h"
5
6 class BlurEffect : public Effect {
7 public:
8         BlurEffect();
9         std::string output_fragment_shader();
10
11         virtual bool needs_many_samples() const { return true; }
12         virtual bool needs_mipmaps() const { return true; }
13
14         void set_uniforms(GLuint glsl_program_num, const std::string &prefix, unsigned *sampler_num);
15
16 private:
17         float radius;
18 };
19
20 #endif // !defined(_BLUR_EFFECT_H)