Программа шейдера действует только до тех пор, пока она установлена. Только вызовы отрисовки, которые вы делаете во время установки программы, будут использовать шейдер. Вы должны установить шейдер, нарисовать объект и затем удалить шейдер.
Редактировать : Под "установкой" шейдера я подразумеваю использование glUseProgram
с ручкой вашего шейдера. Под «удалением» я имею в виду либо установку другого шейдера, либо вызов glUseProgram
с аргументом 0
. См. glUseProgram . Отсюда и моя терминология "установка / удаление".