glDrawArrays - створення примітивів з даних масиву.

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

void glDrawArrays (GLenum mode, GLint first, GLsizei count) ;

Параметри

mode - вказує який тип примітивів створювати. Приймаються наступні символічні константи GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS i GL_POLYGON. first - вказує початковий індекс у встановленому масиві. count - вказує кількість індексів які повинні бути використаними.

Опис

glDrawArrays визначає множину геометричних примітивів за допомогою декількох викликів інших функції. Замість виклику процедур графічної бібліотеки для передачі кожного вертекса, нормалі, координати текстури, прапорця грані або кольору індивідуально, ви можете вказати окремі масиви вертексів, нормалей і кольорів і використовувати їх для конструювання послідовності примітивів за допомогою одного виклику glDrawArrays. Коли викликається функція glDrawArrays, використовуються count послідовних елементів з кожного увімкненого масиву для конструювання послідовності геометричних примітивів, які починаються з елементу first. Параметр mode вказує який тип примітивів конструюється і як масив елементів конструює дані примітиви. Якщо GL_VERTEX_ARRAY не увімкнено, жодні геометричні фігури не з'являються на екрані. Атрибути вертексів, які модифікуються функцією glDraArrays мають не визначене значення після повернення від функції glDrawArrays. Наприклад, якщо увімкнено GL_COLOR_ARRAY, значення поточного кольору не визначено після виконання функції glDrawArrays. Атрибути, які не модифікуються залишаються відомими.

Примітка

glDrawArrays доступна тільки якщо версія OpenGL являється 1.1 або вищою. glDrawArrays включається у списки відображення (display lists). Якщо glDrawArrays входить у список відображення, потрібні масиви даних (які визначаються вказівниками на масиви і увімкнення) також входять у даний список відображення. Через те що вказівники масивів і увімкнення являються станом на стороні клієнта, їхні значення впливають на список відображення коли список створюється, але не коли список виконується.

Помилки

GL_INVALID_ENUM генерується коли mode не містить доступне значення. GL_INVALID_VALUE генерується коли count являється негативним. GL_INVALID_OPERATION генерується коли не нульову назву об'єктного буферу прив'язують до увімкненого масиву і дані об'єктного буферу накладаються (mapped). GL_INVALID_OPERATION генерується, якщо glDrawArrays виконується між викликами glBegin і відповідного glEnd.

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

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