Вершина (англ. vertex, мн. ч. vertices) в компьютерной графике — это структура данных, которая описывает определённые атрибуты, например, положение точки в 2D или 3D пространстве. Графические объекты состоят из массивов плоских поверхностей (как правило, треугольников — полигонов), и вершины определяют расположение, углы и другие атрибуты поверхностей.
Атрибуты могут представлять что угодно, например, температуру, скорость или направление.
Приложение к объектной модели
правитьВ компьютерной графике объекты представляются наиболее часто в виде триангулированных многогранников. Нетриангулированные поверхности могут быть преобразованы в массив треугольников с помощью тесселяции. Вершины треугольников связаны не только с позицией, но и с другими графическими атрибутами, используемыми для визуализации объекта. Такие атрибуты могут включать цвета в вершинах, коэффициент отражения поверхности в вершине, текстуры поверхности в вершине. Эти свойства используются в рендеринге с помощью вертексных шейдеров или вертексных конвейеров.
Атрибуты вершин
правитьБольшинство атрибутов вершины представляют собой векторы в пространстве. Вектор может быть одномерным (х), двумерным (х, y) или трёхмерным (х, у, z) и может содержать четвёртую однородную координату (w).
Ниже приводится таблица встроенных атрибутов вершин в стандарте OpenGL.
Имя GL атрибута | attribute defined (data value size) |
---|---|
gl_Vertex | Position (vec4) |
gl_Normal | Normal (vec4) |
gl_Color | Primary color of vertex (vec4) |
gl_MultiTexCoord0 | Texture coordinate of texture unit 0 (vec4) |
gl_MultiTexCoord1 | Texture coordinate of texture unit 1 (vec4) |
gl_MultiTexCoord2 | Texture coordinate of texture unit 2 (vec4) |
gl_MultiTexCoord3 | Texture coordinate of texture unit 3 (vec4) |
gl_MultiTexCoord4 | Texture coordinate of texture unit 4 (vec4) |
gl_MultiTexCoord5 | Texture coordinate of texture unit 5 (vec4) |
gl_MultiTexCoord6 | Texture coordinate of texture unit 6 (vec4) |
gl_MultiTexCoord7 | Texture coordinate of texture unit 7 (vec4) |
gl_FogCoord | Fog Coord (float) |
Ссылки
править- ↑ Christen, Martin Clockworkcoders Tutorials: Vertex Attributes . Khronos Group. Дата обращения: 26 января 2009. Архивировано 12 апреля 2019 года.