As someone that has never built using OpenGL or other rendering languages I found that many metal tutorials, examples, and books do not define in one place what means what. So, this is a glossary of Metal/MetalKit terms as I learn them.
SIMD: Single Instruction Multiple Data
Rendering: The processing of an outline image using color and shading to make it appear solid and three-dimensional
Vertex: refers to a point in three dimensional space where two or more lines, curves or edges of a geometrical shape meet, such as the corners of a cube.
Rendering pipeline: parses list of vertices → GPU → shader functions process vertices → final image/texture → CPU → Screen
Shape Primitive: cube, sphere, cylinder or torus
MTKMeshBufferAllocator: manages the memory of the mesh
Render Command Encoder: Wrapping of commands to be sent to the GPU
Pipeline State: Tell the GPU that nothing will change until the state changes. Pipeline state contains pixel format, if should render with depth, vertex and fragment functions. Pipeline states are set by pipeline descriptors.
BGRA: Blue, Green, Red, Alpha
Command Buffer: Stores all commmands you ask the GPU to run
Render Pass Descriptor: Holds data (attachments) for the render destinations
Render Command Encoder: Holds all information necessary to send to the GPU so it can draw vertices