CGI (computer-generated imagery) is the creation of still or animated visual content with imaging software. CGI is used to produce images for many purposes including visual art, advertising, anatomical modeling, architectural design, engineering, television shows, video game art and film special effects, as well as augmented reality (AR) and virtual reality (VR) applications.
CGI is accomplished through various methods. The use of algorithms to generate fractals, for example, can produce complex visual patterns. Other methods include painting in a 2D pixel-based image editor and creating shapes to make images, as in a vector-based image editor.
CGI can also be made from 3D graphics, either with ray tracing or by rasterized 3D graphics. Ray tracing simulates the way light acts upon surfaces on the level of photons, simulated by shader programming routines. Ray tracing can use complex methods to build shapes, such as non-uniform b-spline (NURBS), 3D primitive shapes (such as cubes, spheres, pyramids, etc.) or simple polygons (typically triangles or quadrangles – which are often called quads). It may take seconds or even minutes per frame to render in these complex methods but results can be photorealistic.
Rasterized 3D, on the other hand, is specialized for real-time display of animated imagery as in computer and console video games. Due to the need to render multiple frames per second (ideally sixty or more), rasterized 3D uses simple polygons or quads to define shapes, with shaders more often consisting of textures that define the color, specularity, surface texture, glow and reflectivity.
Complex visuals may be made by combining computer-generated images into film in layers, a technique known as compositing. This technique is often used in conjunction with actors on a green screen, to place them in a simulated background.