X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=luma_mix_effect.h;h=1272731b34fc9bef5367332cac92d0e0658b1482;hp=ce890dfb557e887e6059d4178738fc5d1acad17c;hb=e72d9577b3af42805d84a640c698853b11060476;hpb=7ea0b3a5be9bafaa2d1fa5a17ce285a725ce132b diff --git a/luma_mix_effect.h b/luma_mix_effect.h index ce890df..1272731 100644 --- a/luma_mix_effect.h +++ b/luma_mix_effect.h @@ -20,17 +20,20 @@ namespace movit { class LumaMixEffect : public Effect { public: LumaMixEffect(); - virtual std::string effect_type_id() const { return "LumaMixEffect"; } - std::string output_fragment_shader(); - virtual void set_gl_state(GLuint glsl_program_num, const std::string &prefix, unsigned *sampler_num); + std::string effect_type_id() const override { return "LumaMixEffect"; } + std::string output_fragment_shader() override; + void set_gl_state(GLuint glsl_program_num, const std::string &prefix, unsigned *sampler_num) override; - virtual bool needs_srgb_primaries() const { return false; } - virtual unsigned num_inputs() const { return 3; } - virtual AlphaHandling alpha_handling() const { return INPUT_PREMULTIPLIED_ALPHA_KEEP_BLANK; } + bool needs_srgb_primaries() const override { return false; } + unsigned num_inputs() const override { return 3; } + bool strong_one_to_one_sampling() const override { return true; } + AlphaHandling alpha_handling() const override { return INPUT_PREMULTIPLIED_ALPHA_KEEP_BLANK; } private: float transition_width, progress; int inverse; // 0 or 1. + bool uniform_inverse; + float uniform_progress_mul_w_plus_one; }; } // namespace movit