Computer graphics (computer science): Difference between revisions

Content deleted Content added
N0tohh (talk | contribs)
m Applications for their use: Remove houdini double inclusion
mNo edit summary
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:
Line 39:
[[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:
Line 50:
 
=== 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 ===
[[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). See [[Rendering (computer graphics)]] for more information.
 
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.)
* [[Non-photorealistic rendering]]
* [[Physically based rendering]] – concerned with generating images according to the laws of [[geometric optics]]