|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
glBegin, glEnd
The glBegin and glEnd functions delimit the vertexes of a primitive or a group of like primitives.
void glBegin( GLenum mode );
Parameters
mode
Specifies the primitive or primitives that will be created from vertexes presented between glBegin and the subsequent glEnd . Ten symbolic constants are accepted: GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON.
void glEnd( void );
Remarks
The glBegin and glEnd functions delimit the vertexes that define a primitive or a group of like primitives. The glBegin function accepts a single argument that specifies which of ten ways the vertexes are interpreted. Taking n as an integer count starting at one, and N as the total number of vertexes specified, the interpretations are as follows:
GL_POINTS
Treats each vertex as a single point. Vertex n defines point n. N points are drawn.
GL_LINES
Treats each pair of vertexes as an independent line segment. Vertexes 2n - 1 and 2n define line n. N/2 lines are drawn.
GL_LINE_STRIP
Draws a connected group of line segments from the first vertex to the last. Vertexes n and n+1 define line n. N - 1 lines are drawn.
GL_LINE_LOOP
Draws a connected group of line segments from the first vertex to the last, then back to the first. Vertexes n and n+1 define line n. The last line, however, is defined by vertexes N and 1. N lines are drawn.
GL_TRIANGLES
Treats each triplet of vertexes as an independent triangle. Vertexes 3n - 2, 3n-1, and 3n define triangle n. N/3 triangles are drawn.
GL_TRIANGLE_STRIP
Draws a connected group of triangles. One triangle is defined for each vertex presented after the first two vertexes. For odd n, vertexes n, n+1, and n+2 define triangle n. For even n, vertexes n+1, n, and n+2 define triangle n. N - 2 triangles are drawn.
GL_TRIANGLE_FAN
Draws a connected group of triangles. One triangle is defined for each vertex presented after the first two vertexes. Vertexes 1 , n+1, and n+2 define triangle n. N - 2 triangles are drawn.
GL_QUADS
Treats each group of four vertexes as an independent quadrilateral. Vertexes 4n - 3, 4n - 2, 4n - 1, and 4n define quadrilateral n. N/4 quadrilaterals are drawn.
GL_QUAD_STRIP
Draws a connected group of quadrilaterals. One quadrilateral is defined for each pair of vertexes presented after the first pair. Vertexes 2n - 1, 2n, 2n+2, and 2n+1 define quadrilateral n. N quadrilaterals are drawn. Note that the order in which vertexes are used to construct a quadrilateral from strip data is different from that used with independent data.
GL_POLYGON
Draws a single, convex polygon. Vertexes 1 through N define this polygon.
Only a subset of GL commands can be used between glBegin and glEnd. The commands are glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glMaterial, and glEdgeFlag. Also, it is acceptable to use glCallList or glCallLists to execute display lists that include only the preceding commands. If any other GL command is called between glBegin and glEnd, the error flag is set and the command is ignored.
Regardless of the value chosen for mode, there is no limit to the number of vertexes that can be defined between glBegin and glEnd. Lines, triangles, quadrilaterals, and polygons that are incompletely specified are not drawn. Incomplete specification results when either too few vertexes are provided to specify even a single primitive or when an incorrect multiple of vertexes is specified. The incomplete primitive is ignored; the rest are drawn. The minimum specification of vertexes for each primitive is as follows: 1 for a point, 2 for a line, 3 for a triangle, 4 for a quadrilateral, and 3 for a polygon. Modes that require a certain multiple of vertexes are GL_LINES (2), GL_TRIANGLES (3), GL_QUADS (4), and GL_QUAD_STRIP (2).
Errors
GL_INVALID_ENUM is generated if mode is set to an unaccepted value. GL_INVALID_OPERATION is generated if a command other than glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glMaterial, glEdgeFlag, glCallList, or glCallLists is called between glBegin and the corresponding glEnd. GL_INVALID_OPERATION is generated if glEnd is called before the corresponding glBegin is called, or if glBegin is called within a glBegin/glEnd sequence.
See Also
glCallList, glCallLists, glColor, glEdgeFlag, glEvalCoord, glEvalPoint, glIndex, glMaterial, glNormal, glTexCoord, glVertex
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
glBegin, glEnd
glBegin И функции glEnd ограничивают вершины примитива или группа подобно примитивам.
пустота glBegin( способ GLenum );
Параметры
способ
Определяет примитив или примитивы, которые будут созданы из вершин представленных между glBegin и последующий glEnd. Десять символических констант приняты: GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, и GL_POLYGON.
пустота glEnd( пустота );
Замечания
glBegin И функции glEnd ограничивают вершины, которые определяют примитив или группа подобно примитивам. Функция glBegin принимает единственный аргумент, который определяет какое из десяти путей вершины интерпретированы. Беря n как счет целого, начинающийся в одном, и N как общее число вершин определялось, интерпретация - следующим образом:
GL_POINTS
Рассматривает каждую вершину как единственную точку. Вершина n определяет точку точек n. N сделаны.
GL_LINES
Рассматривает каждую пару вершин как независимый сегмент линии. Вершины 2n - 1 и 2n определяют линию линий n. N/2 сделаны.
GL_LINE_STRIP
Вытаскивает связанную группу сегментов линии из первой вершины на последний. Вершины n и n+1 определяют линию n. N - 1 линии сделаны.
GL_LINE_LOOP
Вытаскивает связанную группу сегментов линии из сначала вершина на последний затем возвращается на первый. Вершины n и n+1 определяют линии n. последнюю линию, тем не менее, определен вершинами N и 1. Линии N сделаны.
GL_TRIANGLES
Рассматривает каждый триплет вершин как независимый треугольник. Вершины 3n - 2, 3n-1, и 3n определять треугольник треугольников n. N/3 сделаны.
GL_TRIANGLE_STRIP
Делает связанной группой треугольников. Один треугольник определен для каждой вершины представленной после первые две вершины. Для нечетных n, вершин n, n+1, и n+2 определять треугольник n. Для даже n, вершины n+1, n, и n+2 определять треугольник n. N - 2 треугольника сделаны.
GL_TRIANGLE_FAN
Делает связанной группой треугольников. Один треугольник определен для каждой вершины представленной после первые две вершины. Вершины 1 , n+1, и n+2 определять треугольник n. N - 2 треугольника сделаны.
GL_QUADS
Обращается каждую группу четырех вершин как независимый четырехугольник. Вершины 4n - 3, 4n - 2, 4n - 1, и 4n определять четырехугольник четырехугольников n. N/4 сделаны.
GL_QUAD_STRIP
Делает связанной группой четырехугольников. Один четырехугольник определен для каждой пары вершин представленных после первой пары. Вершины 2n - 1, 2n, 2n+2, и 2n+1 определять четырехугольник четырехугольников n. N сделаны. Отметьте, что порядок в котором вершины использованы, чтобы создавать четырехугольник из данных полосы отличается из которого использовался с независимыми данными.
GL_POLYGON
Делает единственным, выпуклым многоугольником. Вершины 1 через N определяют этот многоугольник.
Только подмножество команд GL может быть использовано между glBegin и glEnd. Команды - glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glMaterial, и glEdgeFlag. Также, это приемлемое, чтобы использовать glCallList или glCallLists, чтобы выполнять дисплейные списки, которые включают только предыдущие команды. Если любая другая команда GL названа между glBegin и glEnd, флаг ошибки установлен и команда проигнорирована.
Независимо от величины выбранной для режима, нет предела в количество вершин, которое может быть определено между glBegin и glEnd. Строки, треугольники, четырехугольники, и многоугольники, что неполно определены, не сделанн. Неполная спецификация происходит когда или слишком несколько вершин предусмотрены, чтобы определять даже единственный примитив или когда неправильное кратное вершин определено. Неполный примитив проигнорирован; остальные сделаны. Минимальная спецификация вершин для каждого примитива - следующим образом: 1 для точки, 2 для строки, 3 для треугольника, 4 для четырехугольника, и 3 для многоугольника. Режимы, которые требуют, чтобы определенное кратное вершин - GL_LINES (2), GL_TRIANGLES (3), GL_QUADS (4), и GL_QUAD_STRIP (2).
Ошибки
GL_INVALID_ENUM сгенерирован если режим установлен в непринятую величину. GL_INVALID_OPERATION сгенерирован если команда кроме glVertex, glColor, glIndex, glNormal, glTexCoord, glEvalCoord, glEvalPoint, glMaterial, glEdgeFlag, glCallList, или glCallLists назван между glBegin и соответствующий glEnd. GL_INVALID_OPERATION сгенерирован если glEnd назван прежде, чем соответствующий glBegin будет назван, или если glBegin назван в пределах последовательности glBegin/glEnd.
Смотри Также
glCallList, glCallLists, glColor, glEdgeFlag, glEvalCoord, glEvalPoint, glIndex, glMaterial, glNormal, glTexCoord, glVertex
| |
|
|
| |