Права на эти материалы принадлежат компании 3Dlabs, Inc., Ltd. Перепечатано с разрешения 3Dlabs.

glAttachObjectARB Название

glAttachObjectARB - связывает шейдерный объект с программным объектом.

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

void glAttachObjectARB(GLhandleARB program. GLhandleARB shader)

Параметры

program Дескриптор программного объекта, с которым связывается шейдерный объект.

shader Дескриптор связываемого шейдерного объекта.

Описание Программный объект предоставляет механизм, с помощью которого можно указать все шейдерные объекты - компоненты программы. glAttachObjectARB связывает шейдерный объект shader с программным объектом program. Это означает, что shader будет участвовать во всех операциях компоновки, выполняемых над program.

Действия, выполняемые над шейдерным объектом, всегда успешно выполняются вне зависимости от того, связан ли шейдерный объект с программным. Можно связывать их перед загрузкой исходного кода в шейдерный объект или непосредственно перед компиляцией шейдерного объекта. Не будет ошибкой связывание нескольких шейдерных объектов одного типа с одним и тем же программным объектом, так как в них могут содержаться только части целого шейдера. Можно Приложение Б. Справочник функций API

связывать один шейдерный объект с несколькими программными объектами. Связанный шейдерный объект, который попытались удалить, на самом деле не удаляется, а просто помечается для удаления. Он будет удален после отсоединения шейдерного объекта от всех программных объектов с помощью функции дЮегаспОЬлесгАРчВ.

GL_INVALID_VALUE возникает, если program или shader не являются дескрипторами объектов OpenGL.

GL_INVALID_OPERATION возникает в следующих случаях:

□ program не является объектом типа GL_PR0GRAM_0BJECT_ARB;

□ shader не является объектом типа GL_SHADER_OBJECT_ARB;

□ shader уже присоединен к program;

□ gl AttachObject ARB вызывается между соответствующими вызовами gl Begi n и gl End.

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


⇐ Предыдущая| |Следующая ⇒