Документы OpenGL для glUseProgram утверждают, что вызов его с аргументом нуля приведет к тому, что результаты выполнения шейдера будут undefined.
Однако после небольшого поиска я увидел пару примеров людей, использующих glUseProgram для удаления текущей шейдерной программы.
Является ли это поведение надежным? Если нет, то что именно делает glUseProgram(0)?