glGetShaderInfoLog - повертає інформаційний журнал для об'єкта шейдера.

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

void glGetShaderInfoLog (GLuint shader,
                         GLsizei maxLength,
                         GLsizei *length,
                         GLchar *infoLog) ;

Параметри

shader вказує об'єкт шейдра, інформаційний журнал якого необхідно отримати.

maxLength вказує розмір буфера символів для зберігання інформаційного журналу

length повертає довжину рядка розміщеного у infoLog (не включаючи завершуючий нульовий символ).

infoLog вказує масив для символів який використовується для розміщення інформаційного журналу.

Опис

Функція glGetShaderInfoLog повертає інформаційний журнал для вказаного шейдерного об'єкта. Інформаційний журнал для шейдерного об'єкта модифікується під час компіляції шейдера. Рядок, який повертається буде містити завершуючий нульовий символ.

Функція glGetShaderInfoLog розміщує у масиві вказаному за допомогою параметра infoLog стільки інформації, скільки можливо, максимум maxLength символів. Кількість фактично повернених символів, виключаючи завершуючі нульові символи розміщується у параметрі length. Якщо довжина поверненого рядка не вимагається, значення NULL може бути переданим у аргументів length. Необхідний розмір буферу для розміщення інформаційного журналу можна отримати за допомогою функції glGetShader з значенням GL_INFO_LOG_LENGTH.

Інформаційний журнал для об'єкта шейдера являється рядком, який може містити відлагоджувальні повідомлення, попереджаючі повідомлення, і іншу інформацію про останню операцію компіляції. Коли створюється об'єкт шейдера, його інформаційний журнал буде містити рядок з нульовою довжиною.

Нотатки

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

Інформаційний журнал для об'єкта шейдера являється головним механізмом для реалізаторів системи OpenGL для транспортування інформації про процес компіляції. Отже, інформаційний журнал може бути корисним для розробників програмного забезпечення під час процесу розробки, навіть коли компіляція пройшла успішно. Розробники програмного забезпечення не повинні очікувати, що різні реалізації системи OpenGL будуть генерувати ідентичні повідомлення інформаційних журналів.

Помилки

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

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

GL_INVALID_VALUE генерується коли maxLength містить значення менше ніж 0.

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

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

glGetShader з аргументом GL_INFO_LOG_LENGTH

glIsShader

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

glCompileShader, glGetProgramInfoLog, glLinkProgram, glValidateProgram

Оригінал

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