public static int linkProgram(Shader... shaders) { int newProgram = glCreateProgram(); for (Shader s : shaders) { if (null != s) { s.attach(newProgram); } } glLinkProgram(newProgram); int linkResult = glGetProgrami(newProgram, GL_LINK_STATUS); if (GL_TRUE != linkResult) { String log = getLog(newProgram); LOG.warn("Link failed: " + log); glDeleteProgram(newProgram); throw new RuntimeException(log); } return newProgram; }