-#include <GL/glew.h>
+#include <epoxy/gl.h>
#include "effect_chain.h"
#include "slice_effect.h"
namespace movit {
SliceEffect::SliceEffect()
+ : input_slice_size(1),
+ output_slice_size(1),
+ offset(0),
+ direction(VERTICAL)
{
register_int("input_slice_size", &input_slice_size);
register_int("output_slice_size", &output_slice_size);
+ register_int("offset", &offset);
register_int("direction", (int *)&direction);
}
set_uniform_float(glsl_program_num, prefix, "output_coord_to_slice_num", float(output_width) / float(output_slice_size));
set_uniform_float(glsl_program_num, prefix, "slice_num_to_input_coord", float(input_slice_size) / float(input_width));
set_uniform_float(glsl_program_num, prefix, "slice_offset_to_input_coord", float(output_slice_size) / float(input_width));
+ set_uniform_float(glsl_program_num, prefix, "offset", float(offset) / float(input_width));
} else {
set_uniform_float(glsl_program_num, prefix, "output_coord_to_slice_num", float(output_height) / float(output_slice_size));
set_uniform_float(glsl_program_num, prefix, "slice_num_to_input_coord", float(input_slice_size) / float(input_height));
set_uniform_float(glsl_program_num, prefix, "slice_offset_to_input_coord", float(output_slice_size) / float(input_height));
+ set_uniform_float(glsl_program_num, prefix, "offset", float(offset) / float(input_height));
}
// Normalized coordinates could potentially cause blurring of the image.