glCompileShader - компілює шейдерний об'єкт
C-Специфікація
void glCompileShader (GLuint shader) ;
Параметри
shader - вказується ідентифікатор шейдерного об'єкта, який необхідно скомпілювати.
Опис
glCompileShader компілює рядки вихідного коду програми, які були збереженими у шейдерному об'єкті вказаному за допомогою параметра shader.
Статус компіляції буде збережений у якості частини стану об'єкта шейдера. Дане поле об'єкта буде встановлено в значення GL_TRUE якщо шейдер був скомпільований без помилок і готовий до використання, і GL_FALSE в іншому випадку. Отримати значення даного поля можна за допомогою функції glGetShader з аргументами shader і GL_COMPILE_STATUS.
Компіляція шейдера може завершитись невдало з багатьох причин, як вказано у специфікації шейдерної мови OpenGL (OpenGL Shading Language Specification). Інформація про успішність компіляції можна отримати з журналу шейдерного об'єкта за допомогою функції glGetShaderInfoLog.
Нотатки
glCompileShader доступний тільки від OpenGL версії 2.0.
Помилки
GL_INVALID_VALUE генерується якщо значення у параметрі shader не являється значенням, яке згенерувала система OpenGL.
GL_INVALID_OPERATION генерується якщо shader не являється шейдерним об'єктом.
GL_INVALID_OPERATION генерується якщо glCompileShader виконується між викликами glBegin і відповідним викликом glEnd.
Пов'зані параметри
glGetShaderInfoLog - з аргументом shader
glGetShader з аргументами shader i GL_COMPILE_STATUS
glIsShader
Перегляньте також
glCreateShader, glLinkProgram, glShaderSource
Оригінал
https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glCompileShader.xml