□ В вершинном или фрагментном шейдере отсутствует функция main.
□ Varying-переменные, используемые во фрагментном шейдере, не объявлены соответствующим образом или вообще не объявлены в вершинном шейдере.
□ Код шейдера содержит ссылки на несуществующие или недоступные функции или переменные.
□ Глобальная переменная объявлена в разных местах с разными типами или начальными значениями.
□ Один или более связанных шейдерных объектов был не скомпилирован или скомпилирован с ошибками.
□ Некоторые строки матрицы дополнительных атрибутов превышают разрешенный максимум GL_MAX_VERTEX_ATTRIBS_ARB.
□ Для матрицы дополнительных атрибутов не найдено достаточно свободных смежных участков памяти в массиве атрибутов вершин.
После успешной компоновки программный объект становится частью текущего состояния с помощью функции gl UseProgramObjectARB. Вне зависимости от успеха компоновки информационный журнал можно получить с помощью функции glGetlnf oLogARB.
Функция gl Li nkProgramARB после успешной компоновки устанавливает созданные выполняемые программы, но только в том случае, если заданный программный объект ранее уже устанавливался в текущее состояние функцией gl UseProgram-ObjectARB.
Если с program связаны шейдерные объекты типа GL_VERTEX_SHADER_ARB, но нет ни одного шейдерного объекта типа GL_FRAGMENT_SHADER_ARB, созданный вершинный шейдер будет работать совместно со стандартной функциональностью обработки фрагментов OpenGL. И наоборот, если с program связаны шейдерные объекты типа GL_FRAGMENT_SHADER_ARB, но нет ни одного шейдерного объекта Приложение Б. Справочник функций API
типа GL_VERTEX_SHADER_ARB, созданный фрагментный шейдер будет работать совместно со стандартной функциональностью обработки вершин OpenGL.
Информационный лог программного объекта обновляется с каждой компоновкой, и в это же время создаются выполняемые программы. После операции компоновки приложение может изменять связанные шейдерные объекты, компилировать их, отсоединять, удалять, присоединять дополнительные шейдерные объекты. До следующей операции компоновки это никак не повлияет ни на информационный журнал, ни на выполняемые программы.