]> git.sesse.net Git - movit/blobdiff - effect.h
Change to using GLEW everywhere.
[movit] / effect.h
index d0ed95b7665b4e36b864bee4ace5508e8f58d68f..235558f8e1c4cf9f480361f0f428916885b1e0e5 100644 (file)
--- a/effect.h
+++ b/effect.h
@@ -16,7 +16,9 @@
 
 #include <assert.h>
 
-#include "opengl.h"
+#include <Eigen/Core>
+
+#include <GL/glew.h>
 #include "util.h"
 
 class EffectChain;
@@ -42,18 +44,17 @@ struct RGBTriplet {
 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_float_array(GLuint glsl_program_num, const std::string &prefix, const std::string &key, const float *values, size_t num_values);
 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_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 Matrix3x3 matrix);
+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() {}
 
        // An identifier for this type of effect, mostly used for debug output
-       // (but some special names, like "ColorSpaceConversionEffect", holds special
+       // (but some special names, like "ColorspaceConversionEffect", holds special
        // meaning). Same as the class name is fine.
        virtual std::string effect_type_id() const = 0;
 
@@ -178,10 +179,10 @@ public:
 
        // Set a parameter; intended to be called from user code.
        // Neither of these take ownership of the pointer.
-       virtual bool set_int(const std::string&, int value);
-       virtual bool set_float(const std::string &key, float value);
-       virtual bool set_vec2(const std::string &key, const float *values);
-       virtual bool set_vec3(const std::string &key, const float *values);
+       virtual bool set_int(const std::string&, int value) MUST_CHECK_RESULT;
+       virtual bool set_float(const std::string &key, float value) MUST_CHECK_RESULT;
+       virtual bool set_vec2(const std::string &key, const float *values) MUST_CHECK_RESULT;
+       virtual bool set_vec3(const std::string &key, const float *values) MUST_CHECK_RESULT;
 
 protected:
        // Register a parameter. Whenever set_*() is called with the same key,