X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=effect.h;h=21068effc20b7debc024923ca3e12cd504ca63fb;hp=d0ed95b7665b4e36b864bee4ace5508e8f58d68f;hb=b0520c87cba0e8b6f69747257b3d5b1eb1faf836;hpb=f898f4106a13b1efdbad85037781f785c2064a76 diff --git a/effect.h b/effect.h index d0ed95b..21068ef 100644 --- a/effect.h +++ b/effect.h @@ -16,6 +16,8 @@ #include +#include + #include "opengl.h" #include "util.h" @@ -42,18 +44,17 @@ struct RGBTriplet { GLint get_uniform_location(GLuint glsl_program_num, const std::string &prefix, const std::string &key); void set_uniform_int(GLuint glsl_program_num, const std::string &prefix, const std::string &key, int value); void set_uniform_float(GLuint glsl_program_num, const std::string &prefix, const std::string &key, float value); -void set_uniform_float_array(GLuint glsl_program_num, const std::string &prefix, const std::string &key, const float *values, size_t num_values); void set_uniform_vec2(GLuint glsl_program_num, const std::string &prefix, const std::string &key, const float *values); void set_uniform_vec3(GLuint glsl_program_num, const std::string &prefix, const std::string &key, const float *values); void set_uniform_vec4_array(GLuint glsl_program_num, const std::string &prefix, const std::string &key, const float *values, size_t num_values); -void set_uniform_mat3(GLuint glsl_program_num, const std::string &prefix, const std::string &key, const Matrix3x3 matrix); +void set_uniform_mat3(GLuint glsl_program_num, const std::string &prefix, const std::string &key, const Eigen::Matrix3d &matrix); class Effect { public: virtual ~Effect() {} // An identifier for this type of effect, mostly used for debug output - // (but some special names, like "ColorSpaceConversionEffect", holds special + // (but some special names, like "ColorspaceConversionEffect", holds special // meaning). Same as the class name is fine. virtual std::string effect_type_id() const = 0; @@ -178,10 +179,10 @@ public: // Set a parameter; intended to be called from user code. // Neither of these take ownership of the pointer. - virtual bool set_int(const std::string&, int value); - virtual bool set_float(const std::string &key, float value); - virtual bool set_vec2(const std::string &key, const float *values); - virtual bool set_vec3(const std::string &key, const float *values); + virtual bool set_int(const std::string&, int value) MUST_CHECK_RESULT; + virtual bool set_float(const std::string &key, float value) MUST_CHECK_RESULT; + virtual bool set_vec2(const std::string &key, const float *values) MUST_CHECK_RESULT; + virtual bool set_vec3(const std::string &key, const float *values) MUST_CHECK_RESULT; protected: // Register a parameter. Whenever set_*() is called with the same key,