HorizontalFlipPostEffectShader::HorizontalFlipPostEffectShader() : program_(0), a_position_(0), a_tex_coord_(0), u_texture_(0) { deleter_ = getDeleterForThisThread(); program_ = new GLProgram(VERTEX_SHADER, FRAGMENT_SHADER); a_position_ = glGetAttribLocation(program_->id(), "a_position"); a_tex_coord_ = glGetAttribLocation(program_->id(), "a_tex_coord"); u_texture_ = glGetUniformLocation(program_->id(), "u_texture"); vaoID_ = 0; }
CustomPostEffectShader::CustomPostEffectShader(std::string vertex_shader, std::string fragment_shader) : program_(0), a_position_(0), a_tex_coord_(0), u_texture_(0), texture_keys_(), float_keys_(), vec2_keys_(), vec3_keys_(), vec4_keys_(), mat4_keys_() { deleter_ = getDeleterForThisThread(); program_ = new GLProgram(vertex_shader.c_str(), fragment_shader.c_str()); a_position_ = glGetAttribLocation(program_->id(), "a_position"); checkGlError("glGetAttribLocation"); a_tex_coord_ = glGetAttribLocation(program_->id(), "a_tex_coord"); checkGlError("glGetAttribLocation"); u_texture_ = glGetUniformLocation(program_->id(), "u_texture"); checkGlError("glGetUniformLocation"); u_projection_matrix_ = glGetUniformLocation(program_->id(), "u_projection_matrix"); checkGlError("glGetUniformLocation"); u_right_eye_ = glGetUniformLocation(program_->id(), "u_right_eye"); checkGlError("glGetUniformLocation"); vaoID_ = 0; }