- world space
An intermediate space between model space and camera space. Conceptually, all objects are transformed into this space along the transformation chain.

- spherical coordinate system, polar coordinates
A three dimensional coordinate system where the three coordinates are not defined by 3 values multiplied by vectors, but by two angles and a radius. One angle specifies rotation around a point in a known plane. The other angle specifies rotation above and below this plane. And the radius specifies the distance from the origin. Spherical coordinates are not a Euclidean geometry.

- Euclidean geometry
A specific kind of coordinate system that follows certain axioms. For the sake of brevity, consider it a “regular” coordinate system, one that follows the simple, obvious rules one might expect of a 2D sheet of paper.

- vertex stream
An ordered sequence of vertices given to OpenGL by one of the

`glDraw*`

series of functions.- primitive, rendering mode
The mechanism used by OpenGL for interpreting and rendering a vertex stream. Every

`glDraw*`

function takes a rendering mode as its first parameter. The primitive mode defines two things: the primitive type and the primitive representation.- primitive type
The kind of object that OpenGL will draw with a vertex stream. OpenGL draws triangles, but it can also draw points or other things.

- primitive representation
The way the vertex stream is converted into one or more of the primitive type. Each primitive type consumes a number of vertices; the primitive representation specifies the manor in which the stream of length N is converted into a number M of primitives.

- uniform buffer object
A buffer object used to store data for uniform blocks.

- uniform block
A named set of uniform definitions. This set of uniforms is not stored in the program object, but instead is taken from a buffer object bound to a buffer object binding point in the OpenGL rendering context.

There is a limit on the number of uniform blocks a single program object can use. There is also a per-shader stage limit as well.

- uniform block layout
The way a uniform block is layed out by the GLSL compiler. This determines whether uniform blocks can be shared with other programs, and whether the user needs to query the location of each uniform within the block.

- uniform block index
A number, queried from a program object, that represents a particular uniform block. This number is used to refer to the uniform block in other functions.

- uniform buffer binding points
An array of locations in the OpenGL context where uniform buffers can be bound to. Programs can have their uniform blocks associated with one of the entries in this array. When using such a program, it will use the buffer object bound to that location to find the data for that uniform block.