X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=effect.cpp;h=3446b42c05baab5553ae83f71c69d6ef8467774f;hp=df73eeae2078b7834c7798a1afa9d30b83a26c4b;hb=f99a1a6295d7809703f6b0dfb7ab4360916b002e;hpb=9c12e38b7cd88a77ef297d080b7c41e6bd6326fb diff --git a/effect.cpp b/effect.cpp index df73eea..3446b42 100644 --- a/effect.cpp +++ b/effect.cpp @@ -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 uniform; + Uniform 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 uniform; + Uniform 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 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 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 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 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 uniform;