glGetProgram - повертає вказаний параметр з об'єкта програми.

C-специфікація

void glGetProgramiv (GLuint program,
                     GLenum pname,
                     GLint *params) ;

 

Параметри

program вказує об'єкт програми, яку необхідно опитати

pname вказує параметр, який необхідно отримати. Приймає наступні символічні константи: GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS і GL_ACTIVE_UNIFORM_MAX_LENGTH.

params вміщує значення опитаного параметра об'єкта програми.

Опис

Функція glGetProgram повертає у параметрі params значення параметру для вказаного об'єкта програми. Визначені наступні параметри:

  • GL_DELETE_STATUS параметр params містить GL_TRUE якщо програма program помічена на видалення, і GL_FALSE в іншому випадку.
  • GL_LINK_STATUS параметр params повертає GL_TRUE якщо остання операція компонування на програмі program завершилась успішно, і GL_FALSE в іншому випадку.
  • GL_VALIDATE_STATUS параметр params буде містити GL_TRUE, якщо остання операція перевірки на програмі program завершилась успішно, і GL_FALSE в іншому випадку.
  • GL_INFO_LOG_LENGTH параметр params повертає кількість символів у інформаційному журналі для програми program включаючи завершуючий нульовий символ (тобто, розмір буферу символів, необхідний для збереження інформаційного журналу). Якщо програма program немає інформаційного журналу, повертається значення 0.
  • GL_ATTACH_SHADERS параметр params повертає кількість шейдерних об'єктів прикріплених до програми program.
  • GL_ACTIVE_ATTRIBUTES параметр params буде містити кількість активних змінних атрибутів для програми program.
  • GL_ACTIVE_ATTRIBUTE_MAX_LENGTH параметр params повертає розмір найдовшої назви змінної атрибуту для програми program, включаючи завершуючий нульовий символ (тобто, розмір символьного буферу, який необхідний для збереження найдовшої назви атрибуту). Якщо немає активних атрибутів, повертається значення 0.
  • GL_ACTIVE_UNIFORMS параметр params буде містити кількість активних уніфікованих змінних для програми program.
  • GL_ACTIVE_UNIFORM_MAX_LENGTH параметр params буде містити розмір найдовшої назви уніфікованої змінної для програми program, включаючи завершуючий нульовий символ. (тобто, розмір символьного буферу необхідного для збереження найдовшої назви уніфікованої змінної). Якщо активні уніфіковані змінні не існують, повертається значення 0.

Нотатки

Функція glGetProgram доступна в системах OpenGL версії 2.0 або вище.

Якщо генерується помилка, параметр params залишається без змін.

Помилки

GL_INVALID_VALUE генерується якщо параметр program не містить значення зненерованого системою OpenGL.

GL_INVALID_OPERATION генерується якщо параметр program не містить коректного ідентифікатора програмного об'єкта.

GL_INVALID_ENUM генерується якщо параметр pname не містить допустимого значення.

GL_INVALID_OPERATION генерується якщо glGetProgram викликається між відповідними викликами glBegin і glEnd.

Пов'язані параметри

glGetActiveAttrib з аргументом program

glGetActiveUniform з аргументом program

glGetAttachedShaders з аргументом program

glGetProgramInfoLog з аргументом program

glIsProgram

Перегляньте також

glAttachShader, glCreateProgram, glDeleteProgram, glGetShader, glLinkProgram, glValidateProgram

Оригінал

https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glGetProgram.xml