Computer graphics is the field of synthesising or augmenting imagery through digital means, for artistic, engineering, recreational or scientific purposes.
The first computer graphics were the output of text and numbers on electronic displays, though the term computer graphics today typically refers to creating images and not text. This field can be divided into two general areas: real-time rendering, and non real-time rendering. Development in computer graphics was first fueled by academic interests and government sponsorship. However, as real-world applications of computer graphics (CG) in broadcast television and movies proved a viable alternative to more traditional special effects and animation techniques, commercial parties have increasingly funded advances in the field.
It is often thought that the first feature film to use computer graphics was 2001: A Space Odyssey, which attempted to show how computers would be much more graphical in the future. However, all the "computer graphic" effects in that film were hand-drawn animation, and the special effects sequences were produced entirely with conventional optical and model effects.
Perhaps the first use of computer graphics specifically to illustrate computer graphics was in Futureworld (1976), which included an animation of a human face and hand - produced by Ed Catmull and Fred Parke at the University of Utah.
2D Computer Graphics
The first advance in computer graphics was in the use of CRTs. See 2D computer graphics.
3D Computer Graphics
With the birth of the workstation computers (like LISP machines, paintbox computers and Silicon Graphics workstations) came the 3D computer graphics, based on vector or "wire-frame" representations of virtual objects.
Some major advances in 3D computer graphics since then have been:
- Flat shading
- A technique that shades each polygon of an object based on the polygon's "normal" and the position and intensity of a light source.
- Gouraud shading
- Invented by Henri Gouraud in 1971, a fast and resource-conscious technique used to simulate smoothly shaded surfaces by interpolating vertex colors across a polygon's surface.
- Texture mapping
- A technique for simulating surface detail by mapping images (textures) onto polygons.
- Phong shading
- Invented by Bui Toc Phong, a smooth shading technique that approximates curved-surface lighting by interpolating the vertex normals of a polygon across the surface; the lighting model includes glossy reflection with a controlable level of gloss.
- Bump mapping
- Invented by Jim Blinn, a normal-perturbation technique used to simulate bumpy or wrinkled surfaces.
- Raytracing
- A method based on the physical principles of geometric optics that can simulate multiple reflections and transparency.
- Radiosity
- a technique for global illumination that uses radiative transer theory to simulate indirect (reflected) illumination.
Several important topics in 2D and 3D graphics include:
- Color theory
- Raster graphics
- Vector graphics
- Geometric surface representations
- in particular, Bézier surfaces and polygons
- Material properties
- Image compression
- Animation
- Rendering
- Compositing
- Collision detection
- Projection
- 3D projection
- Hidden face removal
- Vertex shaders and pixel shaders
Toolkits and APIs
For an application relying heavily on computer graphics, the following could be useful: