Most of OpenGL requires that the graphics hardware contain a framebuffer. This is a reasonable requirement since nearly all interactive graphics applications (as well as many non-interactive ones) run on systems with framebuffers. Some operations in OpenGL are achieved only through exposing their implementation using a framebuffer (transparency using alpha blending and hidden surface removal using depth buffering are two examples). Although OpenGL may be used to provide information for driving such devices as pen-plotters and vector displays, such use is secondary.