-#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.
// effect instance; use the macro PREFIX() around your identifiers to
// automatically prepend that prefix.
+#include <GL/glew.h>
+#include <assert.h>
+#include <stddef.h>
#include <map>
#include <string>
-#include <vector>
-
-#include <assert.h>
-#include <Eigen/Core>
-
-#include <GL/glew.h>
-#include "util.h"
+#include "defs.h"
class EffectChain;
class Node;
};
// 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() {}
std::map<std::string, Texture1D> params_tex_1d;
};
-#endif // !defined(_EFFECT_H)
+#endif // !defined(_MOVIT_EFFECT_H)