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