Renderer::Renderer() { attach_shaders(); program.link(); extract_vars(); }
void GLSL_Program::initialize() { program = glCreateProgram(); attach_shaders(); glLinkProgram(program); set_parameters(); if(glGetError() != GL_NO_ERROR) throw "OpenGL after initializing shader"; }
ShaderProgram loadShaders(ShaderFileList const& file_list) { if (file_list.empty()) { throw std::invalid_argument{ "loadShaders passed empty shader list"}; } ShaderObjectList shader_objects {load_shaders_from_files(file_list)}; compile_shaders(shader_objects); ShaderProgram shader_program; attach_shaders(shader_program, shader_objects); shader_program.link(); return shader_program; }