X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=effect_util.h;h=1a8f04ae91476dfa904729a46ae0cb6a094c65ea;hp=13a775401b88652149421717158e680071fdd088;hb=6a176580b95002657b381acfaf3892b345e28364;hpb=ad66f9714e4a36008c341355700272a52484a785 diff --git a/effect_util.h b/effect_util.h index 13a7754..1a8f04a 100644 --- a/effect_util.h +++ b/effect_util.h @@ -1,10 +1,10 @@ -#ifndef _EFFECT_UTIL_H -#define _EFFECT_UTIL_H 1 +#ifndef _MOVIT_EFFECT_UTIL_H +#define _MOVIT_EFFECT_UTIL_H 1 // Utilities that are often useful for implementing Effect instances, // but don't need to be included from effect.h. -#include +#include #include #include #include @@ -14,17 +14,24 @@ #include "util.h" +namespace movit { + class EffectChain; class Node; // Convenience functions that deal with prepending the prefix. +// Note that using EffectChain::register_uniform_*() is more efficient +// than calling these from set_gl_state(). 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_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(GLuint glsl_program_num, const std::string &prefix, const std::string &key, const float *values); +void set_uniform_vec2_array(GLuint glsl_program_num, const std::string &prefix, const std::string &key, const float *values, size_t num_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 Eigen::Matrix3d &matrix); -#endif // !defined(_EFFECT_UTIL_H) +} // namespace movit + +#endif // !defined(_MOVIT_EFFECT_UTIL_H)