Vertex buffer object

A vertex buffer object (VBO) is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.)

VBOs offer substantial performance gains over immediate mode rendering primarily because the data reside in video device memory rather than system memory and so it can be rendered directly by the video device.

The vertex buffer object specification has been standardized by the OpenGL Architecture Review Board Archived 2011-11-24 at the Wayback Machine as of OpenGL Version 1.5 (in 2003).

Similar functionality was available before the standardization of VBOs via the Nvidia-created extension "vertex array range"[1] or ATI's "vertex array object"[2] extension.

The following functions form the core of VBO access and manipulation: Vertex Shader: