X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=vignette_effect.cpp;h=f75b4ae762f47f2db0e6adf960a229f74d50cfc9;hp=e1403100bc945489dedc521f826dc7fe666f912c;hb=9e62fbe2ac764479c449472d8bda52ac4df0de91;hpb=2b4a7d868112b4995bf6699f5b3aa68e9ec2b308 diff --git a/vignette_effect.cpp b/vignette_effect.cpp index e140310..f75b4ae 100644 --- a/vignette_effect.cpp +++ b/vignette_effect.cpp @@ -1,11 +1,8 @@ -#define GL_GLEXT_PROTOTYPES 1 - #include -#include -#include #include "vignette_effect.h" #include "util.h" +#include "opengl.h" VignetteEffect::VignetteEffect() : center(0.5f, 0.5f), @@ -17,21 +14,16 @@ VignetteEffect::VignetteEffect() register_float("inner_radius", (float *)&inner_radius); } -std::string VignetteEffect::output_vertex_shader() -{ - return read_file("vignette_effect.vert"); -} - std::string VignetteEffect::output_fragment_shader() { return read_file("vignette_effect.frag"); } -void VignetteEffect::set_uniforms(GLuint glsl_program_num, const std::string &prefix) +void VignetteEffect::set_gl_state(GLuint glsl_program_num, const std::string &prefix, unsigned *sampler_num) { - Effect::set_uniforms(glsl_program_num, prefix); + Effect::set_gl_state(glsl_program_num, prefix, sampler_num); - set_uniform_float(glsl_program_num, prefix, "inv_radius", 1.0f / radius); + set_uniform_float(glsl_program_num, prefix, "pihalf_div_radius", 0.5 * M_PI / radius); Point2D aspect(16.0f / 9.0f, 1.0f); // FIXME set_uniform_vec2(glsl_program_num, prefix, "aspect_correction", (float *)&aspect);