Computer graphics
A D V E R T I S E M E N T
Computer graphics is a sub-field of
computer science which studies methods for 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.
Overview
The term Computer graphics has multiple meaning:
- Field of science, which studies the manipulation of visual and geometric
information using computational techniques. Computer graphics as an academic
discipline focuses on the mathematical and computational
foundations of image generation and processing rather than purely aesthetic
issues.
- The economic branch which deals with the creating and modification of an
image on a screen.
- The images created or manipulated in two or three dimensions
(2D or 3D respectively), see
2D computer graphics and
3D computer graphics.
Computer graphics is often differentiated from the field of
visualization, although the two fields have many similarities.
Applications of Computer graphics are:
-
Digital art
-
Special effects
-
Visual effects
-
Video games
Connected studies of Computer graphics are:
-
Computer vision
-
Image processing
-
Computational Geometry
-
Computational Topology
History
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
Association for Computing Machinery (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. As in the rest of
computer science, conference publications in computer graphics are generally
more significant than journal publications (and subsequently have lower
acceptance rates).
Subfields in computer graphics
A broad classification of major subfields in computer graphics might be:
- Geometry: studies ways to represent and process surfaces
- Animation: studies with ways to represent and manipulate motion
- Rendering: studies algorithms to reproduce light transport
- Imaging: studies image acquisition or image editing
Geometry
The subfield of geometry studies the representation of three-dimensional
objects in a discrete digital setting. Because the appearance of an object
depends largely on its exterior,
boundary representations are most commonly used. Two dimensional
surfaces are
a good representation for most objects, though they may be non-manifold.
Since surfaces are not finite, discrete digital approximations are used.
Polygonal meshes (and to a lesser extent
subdivision surfaces) are by far the most common representation, although
point-based representations have become more popular recently (see for
instance the
Symposium on Point-Based Graphics). These representations are Lagrangian,
meaning the spatial locations of the samples are independent. Recently,
Eulerian surface descriptions (i.e., where spatial samples are fixed) such
as level sets
have been developed into a useful representation for deforming surfaces which
undergo many topological changes (with
fluids being the most notable example).
- Geometry Subfields
-
Constructive solid geometry - Process by which complicated objects are
modelled with implicit geometric objects and boolean operations
- Discrete differential geometry - a nascent field which defines geometric
quantities for the discrete surfaces used in computer graphics.
- Digital geometry processing -
surface reconstruction, simplification, fairing, mesh repair,
parameterization, remeshing,
mesh generation, surface compression, and surface editing all fall under
this heading.
- Point-based graphics - a recent field which focuses on points as the
fundamental representation of surfaces.
-
Subdivision surfaces
- Out-of-core mesh processing - another recent field which focuses on mesh
datasets that do not fit in main memory.
Animation
The subfield of animation studies descriptions for surfaces (and other
phenomena) that move or deform over time. Historically, most work in this field
has focused on parametric and data-driven models, but recently
physical simulation has become more popular as computers have become more
powerful computationally.
- Subfields
- Performance capture
- Character animation
- Physical simulation (e.g.
cloth modeling, animation of
fluid dynamics, etc.)
Rendering
Rendering generates images from a model. Rendering may simulate
light transport to create realistic images or it may create images that have
a particular artistic style in
non-photorealistic rendering. The two basic operations in realistic
rendering are transport (how much light passes from one place to another) and
scattering (how surfaces interact with light). See
Rendering (computer graphics) for more information.
- Transport
Transport describes how illumination in a scene gets from one place to
another.
Visibility is a major component of light transport.
- Scattering
Models of scattering and shading are used to describe the
appearance of a surface. Although these issues may seem like problems all on
their own, they are studied almost exclusively within the context of rendering.[citation
needed] Shading can be broken down into two orthogonal
issues, which are often studied independently:
- scattering - how light interacts with the surface at a given
point
- shading - how material properties vary across the surface
The former problem refers to
scattering,
i.e., the relationship between incoming and outgoing illumination at a given
point. Descriptions of scattering are usually given in terms of a
bidirectional scattering distribution function or BSDF. The latter issue
addresses how different types of scattering are distributed across the surface
(i.e., which scattering function applies where). Descriptions of this kind are
typically expressed with a program called a
shader. (Note
that there is some confusion since the word "shader" is sometimes used for
programs that describe local geometric variation.)
|