Misplaced Pages

Computer graphics (computer science)

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
(Redirected from Graphics processing) Sub-field of computer science
A modern rendering of the Utah teapot, an iconic model in 3D computer graphics created by Martin Newell in 1975.

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 the study of three-dimensional computer graphics, it also encompasses two-dimensional graphics and image processing.

Overview

Computer graphics studies manipulation of visual and geometric information using computational techniques. It focuses on the mathematical and computational foundations of image generation and processing rather than purely aesthetic issues. Computer graphics is often differentiated from the field of visualization, although the two fields have many similarities.

Connected studies include:

Applications of computer graphics include:

History

See also: History of computer animation and Computer graphics § History

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, Symposium on Computer Animation, and High Performance Graphics.

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

A broad classification of major subfields in computer graphics might be:

  1. Geometry: ways to represent and process surfaces
  2. Animation: ways to represent and manipulate motion
  3. Rendering: algorithms to reproduce light transport
  4. Imaging: image acquisition or image editing

Geometry

Successive approximations of a surface computed using quadric error metrics

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 include:

  • Implicit surface modeling – an older subfield which examines the use of algebraic surfaces, constructive solid geometry, etc., for surface representation.
  • Digital geometry processing – surface reconstruction, simplification, fairing, mesh repair, parameterization, remeshing, mesh generation, surface compression, and surface editing all fall under this heading.
  • Discrete differential geometry – a nascent field 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.
  • 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.

Animation subfields include:

Rendering

Indirect diffuse scattering simulated using path tracing and irradiance caching.

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.

Rendering subfields include:

  • 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 (how light interacts with the surface at a given point) and shading (how material properties vary across the surface) are used to describe the appearance of a surface. In graphics these problems are often studied within the context of rendering since they can substantially affect the design of rendering algorithms. Descriptions of scattering are usually given in terms of a bidirectional scattering distribution function (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. (There is some confusion since the word "shader" is sometimes used for programs that describe local geometric variation.)
  • Non-photorealistic rendering
  • 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
  • Relighting – recent area concerned with quickly re-rendering scenes

Notable researchers

Applications for their use

Bitmap Design / Image Editing

Vector drawing

Architecture

Video editing

Sculpting, Animation, and 3D Modeling

Digital composition

Rendering

Other applications examples

See also

References

  1. "geometryprocessing.org". geometryprocessing.org. Retrieved 2014-05-01.
  2. Archived March 14, 2007, at the Wayback Machine
  3. "High Performance Graphics". highperformancegraphics.org.
  4. "Best Practices Memo". Cra.org. Archived from the original on 2014-05-02. Retrieved 2014-05-01.
  5. "Choosing a venue: conference or journal?". People.csail.mit.edu. Retrieved 2014-05-01.
  6. "Graphics/vision publications acceptance rates statistics". vrlab.epfl.ch. Retrieved 2014-05-01.
  7. An extensive history of computer graphics can be found at this page Archived April 5, 2007, at the Wayback Machine.
  8. "Point Based Graphics 2007 - PBG07". Graphics.ethz.ch. Retrieved 2014-05-01.
  9. "Ron Fedkiw". graphics.stanford.edu. Retrieved 2014-05-01.
  10. Archived February 14, 2007, at the Wayback Machine
  11. CS 598: Digital Geometry Processing (Fall 2004) Archived 2004-10-25 at archive.today
  12. "Digital Geometry Processing". cs.ubc.ca. Retrieved 2014-05-01.
  13. "Discrete Differential Geometry". ddg.cs.columbia.edu. Retrieved 2014-05-01.

Further reading

External links

Industry

Industrial labs doing "blue sky" graphics research include:

Major film studios notable for graphics research include:

Visualization of technical information
Fields
Image
types
People
Pre-19th century
19th century
Early 20th century
Mid 20th century
Late 20th century
Early 21st century
Related
topics
Computer graphics
Vector graphics
2D graphics
2.5D
3D graphics
Concepts
Graphics software
Algorithms
Computer science
Note: This template roughly follows the 2012 ACM Computing Classification System.
Hardware
Computer systems organization
Networks
Software organization
Software notations and tools
Software development
Theory of computation
Algorithms
Mathematics of computing
Information systems
Security
Human–computer interaction
Concurrency
Artificial intelligence
Machine learning
Graphics
Applied computing
Category: