□ 1 ocati on не является корректным адресом uniform-переменной в текущем программном объекте;

□ количество задаваемых значений превышает объявленный размер указанной uniform-переменной;

□ семплер устанавливается не функциями gl Uni formli ARB и glUniformlivARB;

□ функция gl Uni formARB выполняется между соответствующими вызовами gl Begi n и gl End.

Соответствующие GET-функции

glGetActi veUni formARB, в которую передается дескриптор программного объекта.

gl GetUni formLocati onARB, в которую передаются дескриптор программного объекта и имя uniform-переменной.

gl GetUni formARB, в которую передаются дескриптор программного объекта и адрес uniform-переменной.

Смотри также

gl Disable, gl Enable, gl Li nkProgramARB, glUseProgramObjectARB

glllseProgramObjectARB

Название

gl UseProgramObjectARB - устанавливает программный объект в текущее состояние для рендеринга.

Прототип функции

void glUseProgram0bjectAR8(GLhandleARB program)

Параметры

program Дескриптор программного объекта, чьи выполняемые про граммы устанавливаются для рендеринга.

Описание

Функция gl UseProgramObjectARB устанавливает программный объект program в текущее состояние. После успешного связывания шейдерных объектов с программным функцией gl AttachObjectARB, успешной их компиляции функцией gl Compi 1 е-ShaderARB, успешной компоновки функцией gl Li nkProgramARB в программном объекте создается одна или больше выполняемых программ.

Если в программном объекте содержится один или больше успешно скомпилированных и скомпонованных шейдерных объектов типа GL_VERTEX_SHADER_ARB, он будет содержать выполняемую программу для вершинного процессора. А если в программном объекте содержится один или больше успешно скомпилированных и скомпонованных шейдерных объектов типа GL_FRAGMENT_SHADER_ARB, он будет содержать выполняемую программу для фрагментного процессора.

После успешной установки выполняемых программ на программируемых процессорах соответствующая стандартная функциональность уже не будет работать. А именно, если программа установлена на вершинном процессоре, следующие стандартные операции не выполняются:

□ на координаты вершин не накладывается матрица модели - вида;

□ на координаты вершин не накладывается проекционная матрица;

□ на координаты вершин не накладываются матрицы текстур;

□ нормали не преобразуются в пространство координат обзора;

□ не выполняются масштабирование и нормализация нормалей;

□ не выполняется нормализация нормалей по GL_AUT0_N0RMAL;

□ текстурные координаты не создаются автоматически;

□ не вычисляется освещение для вершин;

□ не вычисляется цвет материала;

□ не вычисляется цвет освещения;


⇐ вернуться назад | | далее ⇒