A vertex buffer is a region of GPU-accessible memory that stores the attributes of a mesh’s vertices, such as positions, normals, texture coordinates and colours, in a contiguous layout for the graphics pipeline to consume. By uploading geometry once and referencing it across many draw calls, vertex buffers minimise CPU-to-GPU transfer and enable high-throughput rendering. They are bound to the input-assembler stage and described by a vertex layout that maps buffer bytes to shader inputs.
Overview
- Vertex buffers keep geometry resident in GPU memory across frames and draw calls.
- A separate index buffer often references the vertex buffer to avoid duplicating shared vertices.
- The vertex layout tells the pipeline how to interpret each vertex’s interleaved attributes.
Key aspects
- Interleaved versus separate attribute layouts and their cache behaviour.
- Static, dynamic and streaming usage hints for driver-managed memory.
- Binding to the input assembler and feeding the vertex shader.
- Pairing with index buffers and instancing for efficient batching.
Applications
- Real-time game and simulation rendering.
- AR/VR scene geometry upload.
- Visualisation of meshes and point clouds.