C Glossary#
- Vertex#
A point where two or more lines intersect. Polygon shapes have the same number of vertices as sides, e.g., a triangle has three vertices.
- Array#
A linear data structure where elements are arranged sequentially.
- Buffer#
A region of memory used to store data temporarily whilst it is transferred from one place to another.
- Vertex Array Object (VAO)#
A container object for storing any data and attributes related to a vertex, e.g., co-ordinates, texture co-ordinates, normal vectors etc.
- Vertex Buffer Object (VBO)#
The buffer where the values of the vertex attributes are stored, e.g., \(x\), \(y\) and \(z\) co-ordinates of the vertices.
- Graphics Processing Unit#
The hardware used by a computer to output graphical information to the display.
- Fragment#
A pixel or collection of pixels.
- Shader#
A program that is performed on the GPU that determines how fragments as displayed on the screen.
- Vertex shader#
A shader program that is used to transform the current vertex to the screen space.
- Fragment shader#
A shader program that is used to calculate the colour of the fragment.
- Uniform#
A global shader variable that remains constant for all vertices and fragments.
- RGB#
A colour model where the colour is defined by levels of red, green and blue.
- RGBA#
A colour model where colours are defined by levels of red, green and blue in addition to an opacity value Alpha.
- Texture#
A 2D image that is mapped onto a polygon in the screen space.
- Textel#
An individual pixel in a texture.
- Texture co-ordinates#
The co-ordinates of a pixel (textel) in the texture.
- Texture wrapping#
Controls how textures are repeated across a surface of a polygon.
- Texture filtering#
Controls how the colour of a fragment is obtained from the texture.
- Mipmap#
A duplicate of a texture and successively smaller resolution.
- Vector (math)#
An object that has length and direction.
- Matrix#
A rectangular array of elements, e.g., numbers.
- Transformation#
The process of changing an object, e.g., changing its position, orientation, size etc.
- Origin#
A point in a space with all zero co-ordinates.
- Normalized Device Co-ordinates (NDC)#
A 3D right-handed co-ordinate system used by OpenGL where the camera is assumed to be at the origin pointing down the \(z\)-axis.
- Translation#
Moving a point or set of points in a space by the same vector.
- Scaling#
Changing the distance between a point or set of points from the origin.
- Rotation#
Changing the orientation of a point or set of points.
- Composite transformations#
The combination of a sequence of transformations.
- Unit cube#
A cube with sides of length 2 parallel to the co-ordinate axes where the vertex co-ordinates are combinations of \(-1\) and \(1\).
- Model space#
The space in which an individual 3D model is defined (also known as object space).
- World space#
The space which contains the objects that make up the virtual world.
- View space#
A transformed world space such that the camera is at the origin pointing down the \(z\)-axis.
- Screen space#
A transformed view space that represents what is to be displayed on the screen.
- Model matrix#
A transformation matrix used to transform from the model space to the screen space.
- View matrix#
A transformation matrix used to transform from the world space to the view space.
- Projection matrix#
A transformation matrix used to project the view space onto the screen space.
- Z buffer#
A buffer containing the \(z\) co-cordinate of the nearest surface to the viewer (also known as a depth buffer).
- Depth test#
A test applied to each fragment where only fragments that are closer than those currently stored in the Z buffer are computed by the shaders. Used to remove hidden surfaces.
- Orthographic projection#
Transformation from the view space to the screen space where the \(z\) co-ordinate is ignored.
- Perspective projection#
Transformation from the view space to the screen space which accounts for the distance of objects from the camera.
- Field of View (FOV)#
The angle between the top and bottom edges of the screen space.
- Aspect#
The width-to-height aspect ratio of the screen.
- Near projection plane#
A plane parallel to the \(x\) and \(y\) axes that defines the nearest points to the camera shown in the screen space.
- Far projection plane#
A plane parallel to the \(x\) and \(y\) axes that defines the furthest points to the camera shown in the screen space.
- Pitch, roll and yaw#
Euler angles used for the rotations in the \(x\), \(y\) and \(z\) axes respectively.
- Back face culling#
The removal of any surface whose normal vector is pointing away from the camera (known as back facing).
- Local illumination model#
A lighting model where the colour of a surface is only determined by light emanating directly from light sources (also known as direct illumination).
- Global illumination model#
A lighting model where the colour of a surface is determined by light emanating from light sources and that reflected off other surface in the scene (also known as indirect illumination).
- Phong’s lighting model#
A local illumination model where the colour of a fragment is determined by summing ambient, diffuse and specular lighting models.
- Ambient reflection#
A simplified model of the light reflected off of all objects in the scene.
- Diffuse reflection#
A reflection model for light reflecting off rough surfaces.
- Specular reflection#
A reflection model for light reflecting off smooth surfaces.
- Attenuation#
The loss of light intensity over distance.
- Normal map#
A texture map containing information for the normal vectors across a surface.
- Tangent space#
A 3D space defined using orthogonal tangent, bitangent and normal vectors.
- Tangent vector#
A vector pointing along a surface.
- Bitangent vector#
A vector pointing along a surface that is orthogonal to the tangent vector.
- Normal vector#
A vector pointing perpendicularly away from a surface.
- Orthogonal#
At right angles to \(\ldots\)
- TBN matrix#
The transformation matrix used to transform to the tangent space.
- Specular map#
A texture map containing the levels or specular reflection across a surface.
- Quaternion#
A 4D object consisting of a real part and three imaginary parts.
- SLERP#
Spherical Linear intERPolation used to interpolated between points on a sphere.