A computer graphics pipeline, rendering pipeline or simply graphics pipeline, is a conceptual model in computer graphics that describes what steps a graphics system needs to perform to render a 3D scene to a 2D screen. Plainly speaking, once a 3D model has been created, for instance in a video game or any other 3D computer animation, the graphics pipeline is the process of turning that 3D model into what the computer displays. Because the steps required for this operation highly depend on the software and hardware used and the desired display characteristics, there is no universal graphics pipeline suitable for all cases. However, graphics APIs such as Direct3D and OpenGL were created to unify similar steps and to control the graphics pipeline of a given Hardware accelerator. Basically, these APIs abstract the underlying hardware and keep the programmer away from writing some tough code to manipulate the Graphics hardware accelerators (NVIDIA/AMD/Intel etc..).
Three-dimensional real or artificial worlds are a very common part of most modern computer games. The rendering is the process of creating visible images from abstract data.
The model of the graphics pipeline is usually used in real-time rendering. Often, most of the pipeline steps are implemented in hardware, which allows for special optimization. The term "pipeline" is used in a similar sense to the pipeline in processors: the individual steps of the pipeline run parallel but are blocked until the slowest step has been completed.
The 3D pipeline usually refers to the most common form of computer 3D rendering, 3D polygon rendering, distinct from raytracing, and raycasting. In particular, 3D polygon rendering is similar to raycasting. In raycasting, a ray originates at the point where the camera resides, if that ray hits a surface, then the color and lighting of the point on the surface where the ray hit is calculated. In 3D polygon rendering the reverse happens, the area that is in view of the camera is calculated, and then rays are created from every part of every surface in view of the camera and traced back to the camera.
A graphics pipeline can be divided into three main parts: Application, Geometry and Rasterization.