Смотри также

gl AttachObjectARB, gl Compi 1 eShaderARB, glCreateProgramObjectARB, glCreateShaderObjectARB,

gl Del eteObjectARB, gl Li nkProgramARB, glShaderSourceARB, glValidateProgramARB

gIGetShaderSourceARB

Название

gIGetShaderSourceARB - возвращает строку исходного кода из заданного шейдерного объекта.

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

void glGetShaderSourceAREK GLhandleARB shader,

GLsizei maxLength,

GLsizei *length,

GLcharARB *source)

Параметры

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

maxLength Размер символьного буфера для сохранения возвращаемой строки кода.

1 ength Возвращает длину строки кода.

source Указывает на символьный буфер, в котором возвращается исходный код.

Описание

Функция gIGetShaderSourceARB возвращает последовательность строк исходного кода шейдерного объекта shader, соединенных в одну строку. Этот код появляется в шейдерном объекте после вызова функции gl ShaderSourceARB. Возвращаемая строка завершается нуль-символом.

Функция gIGetShaderSourceARB возвращает в source ту часть кода, которая может поместиться в maxLength символах. Количество реально записанных символов без учета нуль-символа возвращается в length. Необходимый размер буфера для сохранения всего кода можно получить с помощью функции gl GetObj ect Ра rameterARB с параметром GL_OBJECT_SHADER_SOURCE_LENGTH_ARB.

Ошибки

GL_INVALID_VALUE возникает:

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

□ значение maxLength меньше 0.

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

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

□ функция gl GetShaderSourceARB выполняется между соответствующими вызовами

gl Begin и gl End.

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

glGetObjectParameterARB с аргументом GL_OBJECT_SHADER_SOURCE_LENGTH_ARB.

Смотри также

glCreateShaderObjectARB, glGetObjectParameterARB, glShaderSourceARB

gIGetUniformARB

Название

gl GetUni formfvARB, gl GetUni formi vARB - возвращает значение uniform-переменной.

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

void glGetUniformfvARB( GLhandleARB program.

GLint location.

GLfloat *params)

void glGetUniformivARB( GLhandleARB program.

GLint location.

GLint *params)

Параметры

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

1 ocati on Расположение запрашиваемой uniform-переменной,

params Возвращает значение указанной uniform-переменной.

Описание

Функция gIGetUniformARB возвращает в params значение указанной uniform-nepe-менной. Uniform-переменная указывается с помощью location, а количество возвращаемых значений зависит от типа переменной. Если uniform-переменная определена в шейдере как boolean, int или float, возвращается одно значение. Если же переменная типа vec2, i vec2 или bvec2, возвращаются два значения. При типе переменной vec3, i vec3 или bvec3 возвращаются три значения и т. д.

Расположение uniform-переменной до компоновки программного объекта неизвестно. После компоновки его можно получить функцией gl GetUni formLocati onARB. Это значение затем передается в gl GetUni formARB, чтобы получить текущее значение uniform-переменной. После успешной компоновки программного объекта расположение любой uniform-переменной остается постоянным до следующей операции компоновки.


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