Computer graphics (computer science)

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

[edit]

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:

* Applied mathematics
* Computational geometry
* Computational topology
* Computer vision
* Image processing
* Information visualization
* Scientific visualization

Applications of computer graphics include:

* Print design
* Digital art
* Special effects
* Video games
* Visual effects

## History

[edit]

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,[1] Symposium on Rendering, Symposium on Computer Animation,[2] and High Performance Graphics.[3]

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).[4][5][6][7]

## Subfields

[edit]

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

[edit]

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).[8] 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).[9]

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.[10][11][12]
* Discrete differential geometry – a nascent field which defines geometric quantities for the discrete surfaces used in computer graphics.[13]
* 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

[edit]

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:

* Performance capture
* Character animation
* Physical simulation (e.g. cloth modeling, animation of fluid dynamics, etc.)

### Rendering

[edit]

Main article: Rendering (computer graphics)

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).

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

[edit]

* Arthur Appel
* James Arvo
* Brian A. Barsky
* Jim Blinn
* Jack E. Bresenham
* Loren Carpenter
* Edwin Catmull
* James H. Clark
* Robert L. Cook
* Franklin C. Crow
* Paul Debevec
* David C. Evans
* Ron Fedkiw
* Steven K. Feiner
* James D. Foley
* David Forsyth
* Henry Fuchs
* Andrew Glassner
* Henri Gouraud (computer scientist)
* Donald P. Greenberg
* Eric Haines
* R. A. Hall
* Pat Hanrahan
* John Hughes
* Jim Kajiya
* Takeo Kanade
* Kenneth Knowlton
* Marc Levoy
* Martin Newell (computer scientist)
* James O'Brien
* Ken Perlin
* Matt Pharr
* Bui Tuong Phong
* Przemyslaw Prusinkiewicz
* William Reeves
* David F. Rogers
* Holly Rushmeier
* Peter Shirley
* James Sethian
* Ivan Sutherland
* Demetri Terzopoulos
* Kenneth Torrance
* Greg Turk
* Andries van Dam
* Henrik Wann Jensen
* Gregory Ward
* John Warnock
* J. Turner Whitted
* Lance Williams

## Applications for their use

[edit]

Bitmap Design / Image Editing

* Adobe Photoshop
* Corel Photo-Paint
* GIMP
* Krita

Vector drawing

* Adobe Illustrator
* CorelDRAW
* Inkscape
* Affinity Designer
* Sketch

Architecture

* VariCAD
* FreeCAD
* AutoCAD
* QCAD
* LibreCAD
* DataCAD
* Corel Designer

Video editing

* Adobe Premiere Pro
* Sony Vegas
* Final Cut
* DaVinci Resolve
* Cinelerra
* VirtualDub

Sculpting, Animation, and 3D Modeling

* Blender 3D
* Wings 3D
* ZBrush
* Sculptris
* SolidWorks
* Rhino3D
* SketchUp
* 3ds Max
* Cinema 4D
* Maya
* Houdini

Digital composition

* Nuke
* Blackmagic Fusion
* Adobe After Effects
* Natron

Rendering

* V-Ray
* RedShift
* RenderMan
* Octane Render
* Mantra
* Lumion (Architectural visualization)

Other applications examples

* ACIS \- geometric core
* Autodesk Softimage
* POV-Ray
* Scribus
* Silo
* Hexagon
* Lightwave

## See also

[edit]

* Computer facial animation
* Computer science
* Computer science and engineering
* Computer graphics
* Digital geometry
* Digital image editing
* Geometry processing
* IBM PCPG, (1980s)
* Painter's algorithm
* Stanford Bunny
* Utah Teapot

## References

[edit]

1. ^ "geometryprocessing.org". geometryprocessing.org. Retrieved 2014-05-01.
2. ^ [1] 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. ^ [2] 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

[edit]

* Foley et al. Computer Graphics: Principles and Practice.
* Shirley. Fundamentals of Computer Graphics.
* Watt. 3D Computer Graphics.

## External links

[edit]

Look up computer graphics in Wiktionary, the free dictionary.

Wikimedia Commons has media related to Computer graphics.

* A Critical History of Computer Graphics and Animation
* History of Computer Graphics series of articles[usurped]

### Industry

[edit]

Industrial labs doing "blue sky" graphics research include:

* Adobe Advanced Technology Labs
* MERL
* Microsoft Research – Graphics
* Nvidia Research

Major film studios notable for graphics research include:

* ILM
* PDI/Dreamworks Animation
* Pixar

* v
* t
* e

Visualization of technical information

Fields|

* Biological data visualization
* Chemical imaging
* Crime mapping
* Data visualization
* Educational visualization
* Flow visualization
* Geovisualization
* Information visualization
* Mathematical visualization
* Medical imaging
* Molecular graphics
* Product visualization
* Scientific visualization
* Social visualization
* Software visualization
* Technical drawing
* User interface design
* Visual analytics
* Visual culture
* Volume visualization

Image
types|

* Chart
* Diagram
* Engineering drawing
* Graph of a function
* Ideogram
* Map
* Photograph
* Pictogram
* Plot
* Sankey diagram
* Schematic
* Skeletal formula
* Statistical graphics
* Table
* Technical drawings
* Technical illustration

People|

| Pre-19th century|

* Edmond Halley
* Charles-René de Fourcroy
* Joseph Priestley
* Gaspard Monge

|

19th century|

* Charles Dupin
* Adolphe Quetelet
* André-Michel Guerry
* William Playfair
* August Kekulé
* Charles Joseph Minard
* Francis Amasa Walker
* John Venn
* Oliver Byrne
* Matthew Sankey
* Charles Booth
* John Snow
* Florence Nightingale
* Karl Wilhelm Pohlke
* Toussaint Loua
* Francis Galton

Early 20th century|

* Edward Walter Maunder
* Otto Neurath
* W. E. B. Du Bois
* Henry Gantt
* Arthur Lyon Bowley
* Howard G. Funkhouser
* John B. Peddle
* Ejnar Hertzsprung
* Henry Norris Russell
* Max O. Lorenz
* Fritz Kahn
* Harry Beck
* Erwin Raisz

Mid 20th century|

* Jacques Bertin
* Rudolf Modley
* Arthur H. Robinson
* John Tukey
* Mary Eleanor Spear
* Edgar Anderson
* Howard T. Fisher

Late 20th century|

* Borden Dent
* Nigel Holmes
* William S. Cleveland
* George G. Robertson
* Bruce H. McCormick
* Catherine Plaisant
* Stuart Card
* Pat Hanrahan
* Edward Tufte
* Ben Shneiderman
* Michael Friendly
* Howard Wainer
* Clifford A. Pickover
* Lawrence J. Rosenblum
* Thomas A. DeFanti
* George Furnas
* Sheelagh Carpendale
* Cynthia Brewer
* Jock D. Mackinlay
* Alan MacEachren
* David Goodsell
* Kwan-Liu Ma
* Michael Maltz
* Leland Wilkinson
* Alfred Inselberg

Early 21st century|

* Ben Fry
* Jeffrey Heer
* Jessica Hullman
* Daniel A. Keim
* Gordon Kindlmann
* Aaron Koblin
* Christopher R. Johnson
* Manuel Lima
* David McCandless
* Mauro Martino
* John Maeda
* Miriah Meyer
* Tamara Munzner
* Ade Olufeko
* Hanspeter Pfister
* Hans Rosling
* Claudio Silva
* Moritz Stefaner
* Fernanda Viégas
* Martin Wattenberg
* Bang Wong
* Hadley Wickham

Related
topics|

* Cartography
* Chartjunk
* Color coding
* Computer graphics
* in computer science
* CPK coloring
* Graph drawing
* Graphic design
* Graphic organizer
* Imaging science
* Information art
* Information graphics
* Information science
* Misleading graph
* Neuroimaging
* Patent drawing
* Scientific modelling
* Spatial analysis
* Visual perception
* Volume cartography
* Volume rendering

* v
* t
* e

Computer graphics

Vector graphics|

* Diffusion curve
* Pixel

2D graphics|

* Alpha compositing
* Layers
* Text-to-image

| 2.5D|

* Isometric graphics
* Mode 7
* Parallax scrolling
* Ray casting
* Skybox

|

3D graphics|

* 3D projection
* 3D rendering
* (Image-based
* Spectral
* Unbiased)
* Aliasing
* Anisotropic filtering
* Cel shading
* Fluid animation
* Lighting
* Global illumination
* Hidden-surface determination
* Polygon mesh
* (Triangle mesh)
* Shading
* Deferred
* Surface triangulation
* Wire-frame model

Concepts|

* Affine transformation
* Back-face culling
* Clipping
* Collision detection
* Planar projection
* Reflection
* Rendering
* Beam tracing
* Cone tracing
* Checkerboard rendering
* Ray tracing
* Path tracing
* Ray casting
* Scanline rendering
* Rotation
* Scaling
* Shadow mapping
* Shadow volume
* Shear matrix
* Shader
* Texel
* Translation
* Volume rendering
* Voxel

Graphics software|

* 3D computer graphics software
* animation
* modeling
* rendering
* Raster graphics editors
* Vector graphics editors

Algorithms|

* List of computer graphics algorithms

* v
* t
* e

Computer science

Note: This template roughly follows the 2012 ACM Computing Classification System.

Hardware|

* Printed circuit board
* Peripheral
* Integrated circuit
* Very-large-scale integration
* System on a chip (SoC)
* Energy consumption (green computing)
* Electronic design automation
* Hardware acceleration
* Processor
* Size / Form

Computer systems organization|

* Computer architecture
* Computational complexity
* Dependability
* Embedded system
* Real-time computing
* Cyber-physical system
* Fault tolerance
* Wireless sensor network

Networks|

* Network architecture
* Network protocol
* Network components
* Network scheduler
* Network performance evaluation
* Network service

Software organization|

* Interpreter
* Middleware
* Virtual machine
* Operating system
* Software quality

Software notations and tools|

* Programming paradigm
* Programming language
* Compiler
* Domain-specific language
* Modeling language
* Software framework
* Integrated development environment
* Software configuration management
* Software library
* Software repository

Software development|

* Control variable
* Software development process
* Requirements analysis
* Software design
* Software construction
* Software deployment
* Software engineering
* Software maintenance
* Programming team
* Open-source model

Theory of computation|

* Model of computation
* Stochastic
* Formal language
* Automata theory
* Computability theory
* Computational complexity theory
* Logic
* Semantics

Algorithms|

* Algorithm design
* Analysis of algorithms
* Algorithmic efficiency
* Randomized algorithm
* Computational geometry

Mathematics of computing|

* Discrete mathematics
* Probability
* Statistics
* Mathematical software
* Information theory
* Mathematical analysis
* Numerical analysis
* Theoretical computer science

Information systems|

* Database management system
* Information storage systems
* Enterprise information system
* Social information systems
* Geographic information system
* Decision support system
* Process control system
* Multimedia information system
* Data mining
* Digital library
* Computing platform
* Digital marketing
* World Wide Web
* Information retrieval

Security|

* Cryptography
* Formal methods
* Security hacker
* Security services
* Intrusion detection system
* Hardware security
* Network security
* Information security
* Application security

Human–centered computing|

* Interaction design
* Augmented reality
* Virtual reality
* Social computing
* Ubiquitous computing
* Visualization
* Accessibility
* Human–computer interaction
* Mobile computing

Concurrency|

* Concurrent computing
* Parallel computing
* Distributed computing
* Multithreading
* Multiprocessing

Artificial intelligence|

* Natural language processing
* Knowledge representation and reasoning
* Computer vision
* Automated planning and scheduling
* Search methodology
* Control method
* Philosophy of artificial intelligence
* Distributed artificial intelligence

Machine learning|

* Supervised learning
* Unsupervised learning
* Reinforcement learning
* Multi-task learning
* Cross-validation

Graphics|

* Animation
* Rendering
* Photograph manipulation
* Graphics processing unit
* Image compression
* Solid modeling

Applied computing|

* Quantum computing
* E-commerce
* Enterprise software
* Computational mathematics
* Computational physics
* Computational chemistry
* Computational biology
* Computational social science
* Computational engineering
* Differentiable computing
* Computational healthcare
* Digital art
* Electronic publishing
* Cyberwarfare
* Electronic voting
* Video games
* Word processing
* Operations research
* Educational technology
* Document management

* Category
* Outline
* Glossaries

Authority control databases

National|

* Germany
* United States
* Japan
* Czech Republic
* Israel

Other|

* Yale LUX

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template