Fix an issue where a (cached) shader program could be used from multiple
[movit] / alpha_division_effect.h
1 #ifndef _MOVIT_ALPHA_DIVISION_EFFECT_H
2 #define _MOVIT_ALPHA_DIVISION_EFFECT_H 1
3
4 // Convert postmultiplied alpha to premultiplied alpha, simply by dividing.
5
6 #include <string>
7
8 #include "effect.h"
9
10 namespace movit {
11
12 class AlphaDivisionEffect : public Effect {
13 public:
14         AlphaDivisionEffect() {}
15         virtual std::string effect_type_id() const { return "AlphaDivisionEffect"; }
16         std::string output_fragment_shader();
17         virtual bool one_to_one_sampling() const { return true; }
18 };
19
20 }  // namespace movit
21
22 #endif // !defined(_MOVIT_ALPHA_DIVISION_EFFECT_H)