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