Vertex (computer graphics)

Source: Wikipedia, the free encyclopedia.
UML class diagram
UML class diagram

A vertex (plural vertices) in computer graphics is a data structure that describes certain attributes, like the position of a point in 2D or 3D space, or multiple points on a surface.

Application to 3D models

3D models are most often represented as triangulated polyhedra forming a triangle mesh. Non-triangular surfaces can be converted to an array of triangles through tessellation
. Attributes from the vertices are typically interpolated across mesh surfaces.

Vertex attributes

The vertices of triangles are associated not only with spatial position but also with other values used to

.

Such attributes can include:

Position
2D or 3D coordinates representing a position in space
Color
Typically diffuse or specular
precomputed lighting
information.
Reflectance
of the surface at the vertex, e.g.
specular exponent
, metallicity, fresnel values.
Texture coordinates
Also known as
UV coordinates, these control the texture mapping
of the surface, possibly for multiple layers.
normal vectors
These define an approximated curved surface at the location of the vertex, used for lighting calculations (such as Phong shading), normal mapping, or displacement mapping, and to control subdivision.
tangent vectors
These define an approximated curved surface at the location of the vertex, used for lighting calculations (such as Phong shading), normal mapping, or displacement mapping, and to control subdivision.
Blend weights
Bone weights
Weighting for assignment to bones to control deformation in skeletal animation.
Blend shapes
Multiple position vectors may be specified to be blended over time, especially for
facial animation
.

See also

For how vertices are processed on 3D graphics cards, see shader.

References