Czy po połączeniu programu i zastanowieniu się nad programowaniem defensywnym powinienem usunąć i odłączyć shadery używane do łączenia tego programu?
Jeśli tak, czy to zwolni jakieś zasoby? Czy te obiekty modułu cieniującego zostaną uwolnione dopiero po wywołaniu glDeleteProgram?
edycja: Tylko dla wyjaśnienia, co robię (co jest zgodne z odpowiedzią):
glCreateShader -> glShaderSource -> glCompileShader -> glCreateProgram -> glAttachShader -> glLinkProgram -> glDetachShader -> glDeleteShader -> rysuj za pomocą tego programu do cieniowania -> a kiedy już go nie potrzebuję glDeleteProgram