X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=effect.h;h=9d4f247632449cbb2cccaf44000d75343b4b147c;hp=826dd6f24068c4aa23687f6071568b43356c1cd3;hb=7f92cccbf86c655ab94bb4a33e80e6f4f7c415d7;hpb=37f56fcbe571b2322243f6de59494bf9e0cbb37a diff --git a/effect.h b/effect.h index 826dd6f..9d4f247 100644 --- a/effect.h +++ b/effect.h @@ -1,5 +1,5 @@ -#ifndef _EFFECT_H -#define _EFFECT_H 1 +#ifndef _MOVIT_EFFECT_H +#define _MOVIT_EFFECT_H 1 // Effect is the base class for every effect. It basically represents a single // GLSL function, with an optional set of user-settable parameters. @@ -13,12 +13,10 @@ #include #include #include -#include #include #include -#include -#include "util.h" +#include "defs.h" class EffectChain; class Node; @@ -40,23 +38,13 @@ struct RGBTriplet { }; // Can alias on a float[4]. -struct RGBATriplet { - RGBATriplet(float r, float g, float b, float a) +struct RGBATuple { + RGBATuple(float r, float g, float b, float a) : r(r), g(g), b(b), a(a) {} float r, g, b, a; }; -// Convenience functions that deal with prepending the prefix. -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_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); - class Effect { public: virtual ~Effect() {} @@ -296,4 +284,4 @@ private: std::map params_tex_1d; }; -#endif // !defined(_EFFECT_H) +#endif // !defined(_MOVIT_EFFECT_H)