X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=effect.h;h=a1852fc12e09f9a1abf454d0167241b26c7d3e1a;hb=7fd447b922234670ae65066915b65a1b4816e095;hp=ba39d6a3cf5bbdc88503214062fd6e075c3da48e;hpb=9fe4726ad2c0c6282dcb53f4a8008b53febd9473;p=movit diff --git a/effect.h b/effect.h index ba39d6a..a1852fc 100644 --- a/effect.h +++ b/effect.h @@ -349,7 +349,8 @@ 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) MUST_CHECK_RESULT; + virtual bool set_int(const std::string &key, int value) MUST_CHECK_RESULT; + virtual bool set_ivec2(const std::string &key, const int *values) 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; @@ -366,6 +367,7 @@ protected: // These correspond directly to int/float/vec2/vec3/vec4 in GLSL. void register_int(const std::string &key, int *value); + void register_ivec2(const std::string &key, int *values); void register_float(const std::string &key, float *value); void register_vec2(const std::string &key, float *values); void register_vec3(const std::string &key, float *values); @@ -393,7 +395,8 @@ protected: // except for register_int as noted above. void register_uniform_sampler2d(const std::string &key, const int *value); void register_uniform_bool(const std::string &key, const bool *value); - void register_uniform_int(const std::string &key, const int *value); // Note: Requires GLSL 1.30 or newer. + void register_uniform_int(const std::string &key, const int *value); + void register_uniform_ivec2(const std::string &key, const int *values); void register_uniform_float(const std::string &key, const float *value); void register_uniform_vec2(const std::string &key, const float *values); void register_uniform_vec3(const std::string &key, const float *values); @@ -406,6 +409,7 @@ protected: private: std::map params_int; + std::map params_ivec2; std::map params_float; std::map params_vec2; std::map params_vec3; @@ -416,6 +420,7 @@ private: std::vector> uniforms_sampler2d; std::vector> uniforms_bool; std::vector> uniforms_int; + std::vector> uniforms_ivec2; std::vector> uniforms_float; std::vector> uniforms_vec2; std::vector> uniforms_vec3;