virtual std::string output_fragment_shader() = 0;
virtual void set_uniforms(GLuint glsl_program_num, const std::string& prefix);
virtual std::string output_fragment_shader() = 0;
virtual void set_uniforms(GLuint glsl_program_num, const std::string& prefix);