Content deleted Content added
m disambiguate "vector" |
Tassedethe (talk | contribs) m Disambiguate David C. Evans to David C. Evans (computer scientist) using popups |
||
Line 1:
{{short description|Sub-field of computer science}}[[File:utah teapot simple 2.png|thumb|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 (graphic)|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 effect]]s
*[[Video game]]s
*[[Visual effects]]
==
{{See also|History of computer animation|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,<ref>{{cite web |url = http://www.geometryprocessing.org |title = geometryprocessing.org |website = geometryprocessing.org |access-date=2014-05-01 }}</ref> Symposium on Rendering, Symposium on Computer Animation,<ref>[http://www.eg.org/events] {{webarchive|url=https://web.archive.org/web/20070314004027/http://www.eg.org/events|date=March 14, 2007}}</ref> and High Performance Graphics.<ref>{{cite web |url = http://www.highperformancegraphics.org |title = High Performance Graphics |website = highperformancegraphics.org }}</ref>
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).<ref name="cra memo">{{cite web |url = http://www.cra.org/reports/tenure_review.html |title=Best Practices Memo |website = Cra.org |access-date=2014-05-01 |archive-url = https://web.archive.org/web/20140502002308/http://www.cra.org/reports/tenure_review.html |archive-date=2014-05-02 |url-status=dead }}</ref><ref name="ernst note">{{cite web |url = http://people.csail.mit.edu/mernst/advice/conferences-vs-journals.html |title=Choosing a venue: conference or journal? |website = People.csail.mit.edu |access-date=2014-05-01}}</ref><ref name="graphics acceptance rates">{{cite web |url = http://vrlab.epfl.ch/~ulicny/statistics/ |title = Graphics/vision publications acceptance rates statistics |website = vrlab.epfl.ch |access-date=2014-05-01 }}</ref><ref>An extensive history of computer graphics can be found at [http://accad.osu.edu/~waynec/history/lessons.html this page] {{webarchive |url = https://web.archive.org/web/20070405172134/http://accad.osu.edu/~waynec/history/lessons.html |date=April 5, 2007 }}.</ref>
== Subfields ==
A broad classification of major subfields in computer graphics might be:
# [[Geometry]]: ways to represent and process surfaces
# [[Computer animation|Animation]]: ways to represent and manipulate motion
# [[Rendering (computer graphics)|Rendering]]: [[algorithm]]s to reproduce light transport
# [[Digital imaging|Imaging]]: image acquisition or image editing
=== Geometry ===
[[File:Stanford bunny qem.png|thumb|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 representation]]s are most commonly used. Two dimensional [[Surface (topology)|surface]]s are a good representation for most objects, though they may be non-[[manifold]]. Since surfaces are not finite, discrete digital approximations are used. [[polygon mesh|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).<ref>{{cite web |url = http://graphics.ethz.ch/events/pbg/07/ |title=Point Based Graphics 2007 - PBG07 |website = Graphics.ethz.ch |access-date=2014-05-01}}</ref> 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 set]]s have been developed into a useful representation for deforming surfaces which undergo many topological changes (with [[fluids]] being the most notable example).<ref name="stanford fedkiw">{{cite web |url = http://graphics.stanford.edu/~fedkiw/ |title = Ron Fedkiw |website = graphics.stanford.edu |access-date=2014-05-01 }}</ref>
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 – [[3d scanning|surface reconstruction]], simplification, fairing, mesh repair, [[mesh parameterization|parameterization]], remeshing, [[mesh generation]], surface compression, and surface editing all fall under this heading.<ref name="caltech multires dgp">[http://www.multires.caltech.edu/pubs/DGPCourse/] {{webarchive|url=https://web.archive.org/web/20070214021951/http://www.multires.caltech.edu/pubs/DGPCourse/|date=February 14, 2007}}</ref><ref name="uiuc graphics dgp">[http://graphics.cs.uiuc.edu/~garland/class/geometry/ CS 598: Digital Geometry Processing (Fall 2004)<!-- Bot generated title -->] {{webarchive|url=https://archive.today/20041025104252/http://graphics.cs.uiuc.edu/~garland/class/geometry/ |date=2004-10-25 }}</ref><ref name="ubc sheffa dgp">{{cite web|url=http://www.cs.ubc.ca/~sheffa/dgp/ |title=Digital Geometry Processing |website = cs.ubc.ca |access-date=2014-05-01}}</ref>
* Discrete differential geometry – a nascent field which defines geometric quantities for the discrete surfaces used in computer graphics.<ref name="columbia ddg">{{cite web |url = http://ddg.cs.columbia.edu/ |title=Discrete Differential Geometry |website = ddg.cs.columbia.edu |access-date=2014-05-01}}</ref>
* 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:
* [[Motion capture|Performance capture]]
* Character animation
* Physical simulation (e.g. [[cloth modeling]], animation of [[fluid dynamics]], etc.)
=== Rendering ===
{{Main articles|Rendering (computer graphics)}}
[[File:Cornellbox pathtracing irradiancecaching.png|thumb|Indirect diffuse scattering simulated using [[path tracing]] and [[irradiance]] [[Cache (computing)|caching]].]]
Rendering generates images from a model. Rendering may simulate [[light transport theory|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:
* [[light transport theory|Transport]] describes how illumination in a scene gets from one place to another. [[visibility (geometry)|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 algorithm]]s. 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.)
* [[
* [[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 [[graphics processing unit|GPUs]]
* [[Relighting]] – recent area concerned with quickly re-rendering scenes
<!-- PLEASE RESPECT ALPHABETICAL ORDER-->
== Notable researchers ==
{{div col |colwidth = 22em }}
* 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 (computer scientist)|David C. Evans]]
* [[Ronald Fedkiw|Ron Fedkiw]]
* [[Steven K. Feiner]]
* [[James D. Foley]]
* [[David Forsyth (computer scientist)|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 F. O'Brien|James O'Brien]]
* [[Ken Perlin]]
* [[Matt Pharr]]
* [[Bui Tuong Phong]]
* [[Przemyslaw Prusinkiewicz]]
* [[William Reeves (animator)|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 (graphics researcher)|Lance Williams]]
{{div col end}}
== Applications for their use ==
'''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 Pro X|Final Cut]]
* [[DaVinci Resolve]]
* [[Cinelerra]]
* [[VirtualDub]]
'''Sculpting, Animation, and 3D Modeling'''
* [[Blender 3D]]
* [[Wings 3D]]
* [[ZBrush]]
* Sculptris
* [[SolidWorks]]
* [[Rhino3D]]
* [[SketchUp]]
* [[3ds Max]]
* [[Cinema 4D]]
* [[Autodesk Maya|Maya]]
* [[Houdini (software)|Houdini]]
'''Digital composition'''
* [[Nuke (Software)|Nuke]]
* [[Blackmagic Fusion]]
* [[Adobe After Effects]]
* [[Natron (software)|Natron]]
'''Rendering'''
* [[V-Ray]]
* [[RedShift]]
* [[RenderMan]]
* [[Octane Render]]
* [[Mantra (Software)|Mantra]]
* [[Lumion (Software)|Lumion]] (Architectural visualization)
'''Other applications examples'''
* [[ACIS]] - geometric core
* [[Autodesk Softimage]]
* [[POV-Ray]]
* [[Scribus]]
* [[Silo (software)|Silo]]
* [[Hexagon (software)|Hexagon]]
* [[LightWave 3D|Lightwave]]
== See also ==
{{div col|colwidth=22em}}
* [[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]]
{{div col end}}
== References ==
{{Reflist}}
== Further reading ==
* [[James D. Foley|Foley]] ''et al''. ''[[Computer Graphics: Principles and Practice]]''.
* Shirley. ''Fundamentals of Computer Graphics''.
* Watt. ''3D Computer Graphics''.
== External links ==
{{Wiktionary|computer graphics}}
{{Commons category|Computer graphics}}
* [https://web.archive.org/web/20070405172134/http://accad.osu.edu/~waynec/history/lessons.html A Critical History of Computer Graphics and Animation]
* {{usurped|1=[https://web.archive.org/web/20070302154206/http://hem.passagen.se/des/hocg/hocg_1960.htm ''History of Computer Graphics'' series of articles]}}
=== Industry ===
Industrial labs doing "blue sky" graphics research include:
*[https://web.archive.org/web/20080325152156/http://www.adobe.com/technology/graphics/ Adobe Advanced Technology Labs]
*[http://www.merl.com/ MERL]
*[http://research.microsoft.com/graphics/ Microsoft Research – Graphics]
*[http://research.nvidia.com/ Nvidia Research]
Major film studios notable for graphics research include:
*[http://www.ilm.com/ ILM]
*[http://www.dreamworksanimation.com/ PDI/Dreamworks Animation]
*[https://web.archive.org/web/20070302102640/http://www.pixar.com/companyinfo/research/ Pixar]
{{-}}
{{Visualization}}
{{Computer graphics}}
{{Computer science}}
{{Authority control}}
[[Category:Computer graphics|+]]
|