Después de tener un programa vinculado, y pensando en la programación defensiva, ¿debo eliminar y separar los sombreadores utilizados para vincular este programa?
En caso afirmativo, ¿eso va a liberar recursos? ¿O estos objetos de sombreado solo se liberarán después de una llamada a glDeleteProgram?
editar: Solo para aclarar lo que estoy haciendo es (que es consistente con la respuesta):
glCreateShader -> glShaderSource -> glCompileShader -> glCreateProgram -> glAttachShader -> glLinkProgram -> glDetachShader -> glDeleteShader -> dibujar usando este programa de sombreador -> y cuando ya no necesito este sombreador glDeleteProgram