Fix an issue where a (cached) shader program could be used from multiple
[movit] / alpha_multiplication_effect.h
1 #ifndef _MOVIT_ALPHA_MULTIPLICATION_EFFECT_H
2 #define _MOVIT_ALPHA_MULTIPLICATION_EFFECT_H 1
3
4 // Convert postmultiplied alpha to premultiplied alpha, simply by multiplying.
5
6 #include <string>
7
8 #include "effect.h"
9
10 namespace movit {
11
12 class AlphaMultiplicationEffect : public Effect {
13 public:
14         AlphaMultiplicationEffect() {}
15         virtual std::string effect_type_id() const { return "AlphaMultiplicationEffect"; }
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_MULTIPLICATION_EFFECT_H)