// There are many different effects that go under the name of "diffusion",
// seemingly all of the inspired by the effect you get when you put a
// There are many different effects that go under the name of "diffusion",
// seemingly all of the inspired by the effect you get when you put a
// where we first blur the picture, and then overlay it on the original
// using the original as a matte.
// where we first blur the picture, and then overlay it on the original
// using the original as a matte.
virtual bool set_float(const std::string &key, float value);
virtual std::string output_fragment_shader() {
virtual bool set_float(const std::string &key, float value);
virtual std::string output_fragment_shader() {