]> git.sesse.net Git - movit/blobdiff - effect.cpp
In YCbCrInput, fix an issue where offsets would be treated as equal even if their...
[movit] / effect.cpp
index df73eeae2078b7834c7798a1afa9d30b83a26c4b..3446b42c05baab5553ae83f71c69d6ef8467774f 100644 (file)
@@ -61,6 +61,7 @@ void Effect::register_int(const string &key, int *value)
 {
        assert(params_int.count(key) == 0);
        params_int[key] = value;
+       register_uniform_int(key, value);
 }
 
 void Effect::register_float(const string &key, float *value)
@@ -95,34 +96,34 @@ void Effect::set_gl_state(GLuint glsl_program_num, const string& prefix, unsigne
 
 void Effect::clear_gl_state() {}
 
-void Effect::register_uniform_bool(const std::string &key, const bool *value)
+void Effect::register_uniform_sampler2d(const std::string &key, const GLint *value)
 {
-       Uniform<bool> uniform;
+       Uniform<int> uniform;
        uniform.name = key;
        uniform.value = value;
        uniform.num_values = 1;
        uniform.location = -1;
-       uniforms_bool.push_back(uniform);
+       uniforms_sampler2d.push_back(uniform);
 }
 
-void Effect::register_uniform_int(const std::string &key, const int *value)
+void Effect::register_uniform_bool(const std::string &key, const bool *value)
 {
-       Uniform<int> uniform;
+       Uniform<bool> uniform;
        uniform.name = key;
        uniform.value = value;
        uniform.num_values = 1;
        uniform.location = -1;
-       uniforms_int.push_back(uniform);
+       uniforms_bool.push_back(uniform);
 }
 
-void Effect::register_uniform_sampler2d(const std::string &key, const GLint *value)
+void Effect::register_uniform_int(const std::string &key, const int *value)
 {
        Uniform<int> uniform;
        uniform.name = key;
        uniform.value = value;
        uniform.num_values = 1;
        uniform.location = -1;
-       uniforms_sampler2d.push_back(uniform);
+       uniforms_int.push_back(uniform);
 }
 
 void Effect::register_uniform_float(const std::string &key, const float *value)
@@ -165,6 +166,16 @@ void Effect::register_uniform_vec4(const std::string &key, const float *values)
        uniforms_vec4.push_back(uniform);
 }
 
+void Effect::register_uniform_float_array(const std::string &key, const float *values, size_t num_values)
+{
+       Uniform<float> uniform;
+       uniform.name = key;
+       uniform.value = values;
+       uniform.num_values = num_values;
+       uniform.location = -1;
+       uniforms_float_array.push_back(uniform);
+}
+
 void Effect::register_uniform_vec2_array(const std::string &key, const float *values, size_t num_values)
 {
        Uniform<float> uniform;
@@ -175,6 +186,16 @@ void Effect::register_uniform_vec2_array(const std::string &key, const float *va
        uniforms_vec2_array.push_back(uniform);
 }
 
+void Effect::register_uniform_vec3_array(const std::string &key, const float *values, size_t num_values)
+{
+       Uniform<float> uniform;
+       uniform.name = key;
+       uniform.value = values;
+       uniform.num_values = num_values;
+       uniform.location = -1;
+       uniforms_vec3_array.push_back(uniform);
+}
+
 void Effect::register_uniform_vec4_array(const std::string &key, const float *values, size_t num_values)
 {
        Uniform<float> uniform;