glGetShaderSource - повертає рядки вихідного джерельного коду з об'єкта шейдера.

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

void glGetShaderSource (GLuint shader,
                        GLsizei bufSize,
                        GLsizei *length,
                        GLchar *source) ;

Параметри

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

bufSize вказує розмір буферу символів для збереження повернених рядків джерельного вихідного коду.

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

source вказує масив символів, які будуть використовуватися для повернення рядків вихідного джерельного коду.

Опис

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

Функція glGetShaderSource повертає в параметр source стільки рядків вихідного коду, скільки на стільки це можливо, аж до bufSize символів. Фактична кількість повернених символів, виключаючи нульові завершуючи символи, вказується у length. Якщо розмір поверненого рядка не вимагається, значення NULL може бути передане у аргументі length. Розмір буфера, який потрібний для збереження рядків вихідного джерельного коду можна отримати викликом glGetShader з значенням GL_SHADER_SOURCE_LENGTH.

Нотатки

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

Помилки

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

GL_INVALID_OPERATION генерується, якщо shader не являється об'єктом шейдера.

GL_INVALID_VALUE генерується якщо значення bufSize менше 0.

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

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

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

glIsShader

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

glCreateShader, glShaderSource

Оригінал

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