glGetShaderiv - використовується для отримання параметрів з об'єкта шейдера.

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

void glGetShaderiv (GLuint shader,
                    GLenum pname,
                    GLint *params) ;

 

Параметри

shader вказує об'єкт шейдера, який необхідно опитати.

pname вказує параметр шейдерного об'єкта, який необхідно отримати. Доступні наступні символічні назви: GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH.

params параметр для розміщення поверненого значення.

Опис

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

  • GL_SHADER_TYPE у params розміщується GL_VERTEX_SHADER якщо shader являється вертексним шейдерним об'єктом, і GL_FRAGMENT_SHADER, якщо shader являється фрагментним шейдерним об'єктом.
  • GL_DELETE_STATUS у params розміщується GL_TRUE якщо shader в даний момент позначений на видалення і GL_FALSE в іншому випадку.
  • GL_COMPILE_STATUS у params розміщується GL_TRUE якщо попередня операція компіляції на shader завершилась успішно і GL_FALSE в іншому випадку.
  • GL_INFO_LOG_LENGTH у params розміщується кількість символів у інформаційному журналі для shader, включаючи завершуючий нульовий символ (тобто, розмір символьного буферу, який необхідний для збереження інформаційного журналу). Якщо shader немає інформаційного журналу, повертається значення 0.
  • GL_SHADER_SOURCE_LENGTH у params розміщується довжина об'єднаних рядків джерельного вихідного коду, який утворює код шейдера shader, включаючи нульові завершуючі символи (тобто, розмір символьного буферу, який необхідний для збереження коду шейдера). Якщо код не присутній, повертається значення 0.

Нотатки

glGetShader доступний у системі OpenGL версії 2.0 або вище.

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

Помилки

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

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

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

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

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

glGetShaderInfoLog з аргументом shader

glGetShaderSource з аргументом shader

glIsShader

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

glCompileShader, glCreateShader, glDeleteShader, glGetProgram, glShaderSource

Оригінал

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