Computer graphics is sub-field of computer science and is concerned with digitally synthesizing and manipulating visual content. Although the term often refers to three-dimensional computer graphics, it also encompasses two-dimensional graphics and image processing. Graphics is often differentiated from the field of visualization, although the two have many similarities. Entertainment (in the form of animated movies and video games) is perhaps the most well-known application of graphics.
Some major test subproblems in computer graphics include:
- describing the shape of an object (modeling)
- describing the velocity of an object (animation)
- creating an image of an object (rendering)
Branches of Computer Graphics
Modeling describes the shape of an object. The two most common sources of 3D models are those created by an artist using some kind of 3D modeling tool, and those scanned into a computer from real-world objects. Models can also be produced procedurally or via physical simulation.
Because the appearance of an object depends largely on the exterior of the object, boundary representations are most common in computer graphics. Two dimensional surfaces are a good analogy for the objects used in graphics, though quite often these objects are non-manifold. Since surfaces are not finite, a discrete digital approximation is required: polygonal meshes (and to a lesser extent subdivision surfaces) are by far the most common representation, although point-based representations have been gaining some popularity in recent years. Level sets are a useful representation for deforming surfaces which undergo many topological changes such as fluids.
- Digital geometry processing - surface reconstruction, mesh simplification, mesh repair, parameterization, remeshing, mesh generation, mesh compression, and mesh editing all fall under this heading.
- Discrete differential geometry - DDG is a recent topic which defines geometric quantities for the discrete surfaces used in computer graphics.
- Point-based graphics - a recent field which focuses on points as the fundamental representation of surfaces.
Texturing, or more generally, shading is the process of describing surface appearance. This description can be as simple as the specification of a color in some colorspace or as elaborate as a shader program which describes numerous appearance attributes across the surface. Simple shading is achieved with texture mapping, which uses a raster image to specify the diffuse color of a surface, giving it more apparent detail. A more generic description of surface appearance is given by the bidirectional scattering distribution function, which describes the relationship between incoming and outgoing illumination at a given point.
Animation refers to the temporal description of an object, i.e., how it moves and deforms over time. There are numerous ways to describe these motion, many of which are used in conjunction with each-other. Popular methods include keyframing, inverse kinematics, and motion capture. As with modeling, physical simulation is another way of specifying motion.
Rendering converts a model into an image either by simulating light transport to get physically-based photorealistic images, or by applying some kind of style as in non-photorealistic rendering. See Rendering for more information.
- physically-based rendering - concerned with generating images according to the laws of geometric optics
- real time rendering - focuses on rendering for interactive applications, typically using specialized hardware like GPUs
- non-photorealistic rendering
- relighting - recent area concerned with quickly re-rendering scenes
William Fetter was credited with coining the term Computer Graphics in 1960, to describe his work at Boeing. One of the first displays of computer animation was Futureworld (1976), which included an animation of a human face and hand — produced by Ed Catmull and Fred Parke at the University of Utah.
There are several international conferences and journals where the most significant results in computer graphics are published. Among them are the SIGGRAPH and Eurographics conferences and the ACM Transactions on Graphics journal. The joint Eurographics and ACM SIGGRAPH symposium series features the major venues for the more specialized sub-fields: Symposium on Geometry Processing , Symposium on Rendering, and Symposium on Computer Animation.
An extensive history of computer graphics can be found at .