static void CleanUp(void) { glDeleteShader_func(fragShader); glDeleteShader_func(vertShader); glDeleteProgram_func(program); glutDestroyWindow(win); }
GLuint ShaderAPITest::make_program(const char *vs_src, const char *fs_src) { GLuint id, vs, fs; assert_no_error(); id = glCreateProgram_func(); if (vs_src) { vs = make_shader(GL_VERTEX_SHADER, vs_src); glAttachShader_func(id, vs); glDeleteShader_func(vs); } if (fs_src) { fs = make_shader(GL_FRAGMENT_SHADER, fs_src); glAttachShader_func(id, fs); glDeleteShader_func(fs); } glLinkProgram_func(id); check_link_status(id); glUseProgram_func(id); glDeleteProgram_func(id); assert_no_error(); return id; }