Real-time rendering poses severe computational requirements to computers. In order to maintain a continuous looking motion for the human eye, at least 20 images need to be generated in each second. An image consists of about a million pixels, which means that for a single pixel the visible point and its color should be computed in less than 50 ns in average. Note that in such a short time current CPUs are able to execute just a few tens of instructions, which are not enough to solve complex tasks. However, the identification of the point visible in a pixel requires the processing of the whole scene, which often consists of millions of objects. On the other hand, the color computation is equivalent to the simulation of the laws of electromagnetic waves and optics, and requires the solution of integral equations having complicated boundary conditions.
The required computation power can be delivered by special purpose, highly parallel hardware, which is dedicated to the particular problem of rendering. This hardware is the Graphics Processing Unit (GPU), which contains a large number of pipeline stages, and at the most computing intensive stages, the pipeline is broken to several parallel branches. As a result of the parallel architecture, in terms of floating point processing power current GPUs are equivalent to tens of current CPUs.