glEnableClientState і glDisableClientState - увімкнути або вимкнути спеціальну можливість на стороні клієнта.

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

void glEnableClientState  (GLenum cap) ;
void glDisableClientState (GLenum cap) ;

Параметри

cap - вказує можливість клієнтської сторони, яку необхідно увімкнути або вимкнути. Приймаються наступні символічні константи GL_COLOR_ARRAY, GL_EDGE_FLAG_ARRAY, GL_FOG_COORD_ARRAY, GL_INDEX_ARRAY, GL_NORMAL_ARRAY, GL_SECONDARY_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY i GL_VERTEX_ARRAY.

Опис

Функції glEnableClientState i glDisableClientState вмикають або вимикають індивідуальні можливості клієнтської сторони. За умовчанням, усі додаткові можливості клієнтської сторони вимкнені. Обидві функції glEnableClientState i glDisableClientState отримують один аргумент - cap, який може приймати одне з наступних значень:
  • GL_COLOR_ARRAY - якщо увімкнений, масив кольору доступний для запису і використовується під час рендерингу при виклику функцій glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements, glDrawRangeElements, glMultiDrawArrays або glMultiDrawElements. Перегляньте glColorPointer.
  • GL_EDGE_FLAG_ARRAY - якщо увімкнений, масив прапорців граней доступний для запису і використовується під час рендерингу коли викликаються функції glArrayElement, glDrawArrays, glDrawElement, glDrawRangeElements, glMultiDrawArrays або glMultiDrawElements. Перегляньте glEdgeFlagPointer.
  • GL_FOG_COORD_ARRAY - якщо увімкнений, масив індексів доступний для запису і використовується під час рендерингу при виклику функцій glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements, glMultiDrawArrays або glMultiDrawElements. Перегляньте glIndexPointer.
  • GL_NORMAL_ARRAY - якщо увімкнений, масив нормалей доступний для запису і використовується під час рендерингу при виклику функцій glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements, glMultiDrawArrays або glMultiDrawElements. Перегляньте glNormalPointer.
  • GL_SECONDARY_COLOR_ARRAY - якщо увімкнений, другорядний масив кольору доступний для запису і використовується під час рендерингу при виклику функцій glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements, glMultiDrawArrays або glMultiDrawElements. Перегляньте glColorPointer.
  • GL_TEXTURE_COORD_ARRAY - якщо увімкнений, масив текстурних координат доступний для запису і використовується під час рендерингу при виклику glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements, glMultiDrawArrays або glMultiDrawElements. Перегляньте glTexCoordPointer.
  • GL_VERTEX_ARRAY - якщо увімкнений, вертексний масив увімкнений для запису і використовується під час рендерингу при виклику функцій glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements, glMultiDrawArrays або glMultiDrawElements. Перегляньте glVertexPointer.

Нотатки

glEnableClientState доступний тільки з версії OpenGL 1.1 або вище. GL_FOG_COORD_ARRAY і GL_SECONDARY_COLOR_ARRAY доступні з OpenGL версії 1.4 або вище. Для OpenGL версії 1.3 і вище, або коли підтримується розширення ARB_multitexture, увімкнення а вимкнення GL_TEXTURE_COORD_ARRAY відображається на активній клієнтській текстурній одиниці. Активне клієнтська текстурна одиниця контролюється за допомогою glClientActiveTexture.

Помилки

GL_INVALID_ENUM генерується, якщо параметр cap не містить допустимого значення. Функцію glEnableClientState не дозволяється викликати між викликами функцій glBegin і відповідної glEnd, але помилка може не генеруватися. Якщо жодна помилка не генерується, поведінка не визначена.

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

glArrayElement, glClientActiveTexture, glColorPointer, glDrawArrays, glDrawElements, glEdgeFlagPointer, glFogCoordPointer, glEnable, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glSecondaryColorPointer, glTexCoordPointer, glVertexPointer Оригінал: https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glEnableClientState.xml