Jump to content

Computer graphics: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Reverted edits by 222.126.0.212 to last revision by Ixfd64 (HG)
Rewrote and reorganize most of the article. Added more discussion about rendering. Removed pixel art and some other topics.
Line 1: Line 1:
[[Image:Blender 2.45 screenshot.jpg|thumb|256px|A [[Blender (software)|Blender]] 2.45 screenshot.]]
[[Image:Blender 2.45 screenshot.jpg|thumb|256px|A [[Blender (software)|Blender]] 2.45 screenshot.]]
[[Image:5-cell.gif|thumb|256px|A 2D projection of a 3D projection of a 4D [[Pentachoron]] performing a [[SO(4)#Geometry of 4D rotations|double rotation]] about two [[orthogonal]] [[plane (geometry)|planes]].]]
{{otheruse}}
{{otheruse}}
'''Computer graphics''' is a branch of [[computer science]] devoted to the study of algorithms for creating and manipulating visual imagery. Advancements in computer graphics have made computers easier to interact with and better for visualizing many types of data. Developments in computer graphics have had a profound impact on many types of media and have revolutionized the [[animation]] and [[video game]] industry.
'''Computer graphics''' are [[graphics]] created using [[computer]]s and, more generally, the [[representation]] and [[manipulation]] of [[pictorial]] [[data]] by a [[computer]].


== Overview ==
== Images ==
[[Image:Pixel-example.png|thumb|right|In the enlarged portion of the image individual pixels are rendered as squares and can be easily seen.]]
The term computer graphics includes almost everything on computers that is not text or sound. Today nearly all computers use some graphics and users expect to control their computer through icons and pictures rather than just by typing.<ref>[http://www.graphics.cornell.edu/online/tutorial/ What is Computer Graphics?],
[[Image:VectorBitmapExample.png|thumb|Example showing effect of vector graphics versus raster graphics.]]
Cornell University Program of Computer Graphics. Last updated 04/15/98.</ref> The term Computer Graphics has several meanings:
[[Image]]s are often represented as two-dimensional [[array]]s of [[pixel]]s where a pixel is the smallest component of an image. Each pixel records a single [[color]] value. Colors are perceived in the [[human eye]] with [[photoreceptor cell]]s called [[Cone cell|cones]]. Humans have three different types of cones which respond to three different [[wavelength]]s of [[light]]: red, green, and blue. These three types of light can be combined together in different amounts to create any color of the rainbow. Colors are often represented simply as a combination of red, green, and blue [[RGB]] color values, but [[Color space|other representations]] may also be used.
* the [[representation]] and [[manipulation]] of [[pictorial]] [[data]] by a [[computer]]
* the various [[technologies]] used to create and manipulate such pictorial data
* the [[image]]s so produced, * the sub-field of [[computer science]] which studies methods for digitally synthesizing and manipulating visual content.


Images are represented by arrays of pixels in what is called [[raster graphics]]. An alternative is to represent images using geometric primitives such as [[point (geometry)|point]]s, [[line (geometry)|line]]s, [[curve]]s, or [[polygon]]s in what is called [[vector graphics]] <ref>{{cite book | title = Processing: Creative Coding and Computational Art | author = Ira Greenberg | publisher = Apress | year = 2007 | isbn = 159059617X | url = http://books.google.com/books?id=WTl_7H5HUZAC&pg=PA115&dq=raster+vector+graphics+photographic&lr=&as_brr=0&ei=llOVR5LKCJL0iwGZ8-ywBw&sig=YEjfPOYSUDIf1CUbL5S5Jbzs7M8 }}</ref>. Since raster graphics is used in nearly all modern display systems (such as [[Cathode ray tube|CRT]]s and [[LCD]]s), vector graphics must be converted to raster graphics in a process called [[rasterization]].
Today computers and computer-generated images touch many aspects of our daily life. Computer imagery is found on television, in newspapers, in weather reports, and during surgical procedures. A well-constructed graph can present complex statistics in a form that is easier to understand and interpret. Such graphs are used to illustrate papers, reports, theses, and other presentation material. A range of tools and facilities are available to enable users to visualize their data, and computer graphics are used in many disciplines. <ref>ISS (2002). [http://iss.leeds.ac.uk/info/306/graphics/215/overview_of_computer_graphics/2 "What are computer graphics?"]. Last updated: 22 Sep 2008 </ref>


[[2D computer graphics]] operates directly on images and are mainly used in applications that were originally developed for traditional printing and drawing uses, such as [[typography]], [[cartography]], [[technical drawing]], [[advertising]], and [[image editing]]. [[3D computer graphics]] uses 3D models.
== History ==
In 1960 [[William Fetter]], a graphic designer for [[Boeing|Boeing Aircraft Co.]], was credited with coining the phrase "Computer Graphics" to describe his research at Boeing. Fetter has said that the terms were actually given to him by Verne Hudson at Boeing. In a 1978 interview, Fetter stated that there had been a long-standing need in many applications for a simulation of the human figure that both accurately describes the human body and is adaptable to different user environments. His early work at Boeing focused on the development of such ergonomic descriptions. One of the most memorable and iconic images in the early history of computer graphics was a human figure, often referred to as the "Boeing Man", but referred to by Fetter as the "First Man".<ref name= "WC03"> Wayne Carlson (2003) [http://accad.osu.edu/~waynec/history/lessons.html A Critical History of Computer Graphics and Animation]. The Ohio State University</ref>
[[Image:SAGE control room.png|thumb|right|[[SAGE Project|SAGE]] Sector Control Room.]]
The field of computer graphics developed with the emergence of computer graphics hardware. Early projects like the [[Whirlwind (computer)|Whirlwind]] and [[SAGE Project]]s helped develop the computer graphics discipline by providing the [[CRT]] as a viable display and interaction interface, and introduced the light pen as an input device. Further advances in the development of the digital computer such as the [[TX-2]] computer in 1959 at MIT's Lincoln Laboratory led to the further developments in interactive computer graphics. The first interactive computer graphics system used a display, a light pen, and a bank of switches as the interface. The TX-2 integrated a number of new man-machine interfaces. A light pen could be used to draw sketches on the computer and both the Sketchpad interactive computer graphics were born. In the Lincoln Labs on their TX-2 computer [[Ivan Sutherland]]'s PhD work made him the "grandfather" of interactive computer graphics and graphical user interfaces.<ref name= "WC03"/>


== 3D Models and Modeling ==
The research at MIT would help shape the early computer and computer graphics industries. Soon major corporations became interested in the technology. [[TRW]], [[Lockheed]]-Georgia, [[General Electric]] and [[Sperry Rand]] are a few of the many computer graphics companies that began in the mid 1960's. [[IBM]] quickly responded to this interest by releasing the IBM 2250 graphics terminal, the first commercially available graphics computer.<ref>[http://hem.passagen.se/des/hocg/hocg_1960.htm HISTORY OF COMPUTER GRAPHICS 1960-69].</ref>
The [[shape]]s of objects are represented by [[3D Modeling|three-dimensional models]]. Models often consist of a [[Polygonal mesh|collection of polygons]] which approximates the [[surface]] of an object. With enough polygons the shape of nearly any surface can be approximated accurately. Shapes can be represented in other ways that do not use polygons such as with [[NURBS]].


Many techniques exist for acquiring and manipulating 3D models. Models can be built up from [[geometric primitive]]s using popular [[3D computer graphics software | 3D modeling software]] such as [[Autodesk 3ds Max | 3D Studio]], [[Autodesk Maya | Maya]], and [[Blender (software) | Blender]]. Techniques designed to generate models automatically are called [[procedural modeling | procedural modeling techniques]]. Models can also be acquired from [[3D scanner | laser scans]] or images of real-world objects using techniques developed within the field of [[computer vision]].
The organizations, conferences, graphics standards, and publications in the field of computer graphics emerged since the end of the 1960s. In 1969, the [[Association for Computing Machinery|ACM]] initiated a A Special Interest Group in Graphics ([[SIGGRAPH]]) devoted to simulation and modeling, to text editing and composition, to computer generated art, cartography and mapping, computer aided design and, computer graphics software and hardware. In 1973, the first annual SIGGRAPH conference was held, which has become one of the focuses of the organization. Over the years, SIGGRAPH grew adding Panels and Courses, an Art Show, and venues for emerging technologies. Several related conferences have occasionally co-located with SIGGRAPH, and an Education track became part of the overall conference offerings.<ref name= "WC03"/>


== Rendering ==
During the late 1970s, [[personal computers]] became more powerful, capable of drawing both basic and complex shapes and designs. In the 1980s, artists and graphic designers began to see the [[personal computer]], particularly the [[Commodore Amiga]] and [[Apple Macintosh|Macintosh]], as a serious design tool, one that could save time and draw more accurately than other methods. [[3D computer graphics]] became possible in the late 1980s with the powerful [[Silicon Graphics|SGI]] computers, which were later used to create some of the first fully [[computer-generated]] [[short film]]s at [[Pixar]]. The [[Apple Macintosh|Macintosh]] remains one of the most popular tools for computer graphics in graphic design studios and businesses.
[[Image:Shading1.jpg|thumb|right|Example of shading.]]
The process of drawing images from 3D models is called [[rendering (computer graphics) | rendering]]. Rendering algorithms simulates how light interacts with objects in a scene.


Humans [[perception | perceive]] light that travels through the [[lens (anatomy) | lens]] of our [[human eye| eye]] and [[graphical projection | projects]] onto the surface of our [[retina]]. There is a [[map (mathematics) | mapping]] between the 3D world and the 2D image it forms within a [[camera]] or the [[eye]] which is explained by [[perspective projection]].
Modern computer systems, dating from the 1980s and onwards, often use a [[graphical user interface]] (GUI) to present data and information with symbols, icons and pictures, rather than text. Graphics are one of the five key elements of [[multimedia]] technology.


[[Opacity (optics) | Opaque]] objects block light traveling from objects behind them. To determine if part of an object is [[visibility (geometry) | visible]], various [[hidden surface removal]] algorithms can be used, such as [[z-buffering]]. Objects above, below, or otherwise outside the [[viewport]] are not visible and can be [[Clipping (computer graphics) | clipped]] using various algorithms.
[[3D graphics]] became more popular in the 1990s in [[Video game|gaming]], [[multimedia]] and [[animation]]. In 1996, [[Quake]], one of the first fully 3D [[game]]s, was released. In 1995, [[Toy Story]], the first full-length computer-generated animation film, was released in cinemas worldwide. Since then, computer graphics have become more accurate and detailed, due to more advanced computers and better 3D modelling software applications, such as [[Cinema 4D]].


The [[irradiance | amount of light]] that bounces off an object depends on how its surface is shaped, on what material it is made of, and on how it is oriented with respect to any light sources and the camera. These factors all influence the appearance of an object and can be computed using various [[shading]] techniques such as [[Phong shading]].
== Image types ==
=== 2D computer graphics ===
[[Image:Blit dot.gif|thumb|[[Raster graphics|Raster graphic]] [[Sprite (computer graphics)|sprite]]s (left) and masks (right)]]
[[2D computer graphics]] are the computer-based generation of [[digital image]]s&mdash;mostly from two-dimensional models, such as [[2D geometric model]]s, text, and digital images, and by techniques specific to them. The word may stand for the branch of [[computer science]] that comprises such techniques, or for the models themselves.


The material properties of an object, such as its [[color]], often vary over its surface. For example, a poster may not have a uniform color, but may have different colors at different points on its surface. Changes in color and other material properties can be rendered using [[texture mapping]].
2D computer graphics are mainly used in applications that were originally developed upon traditional [[printing]] and [[drawing]] technologies, such as [[typography]], [[cartography]], [[technical drawing]], [[advertising]], etc.. In those applications, the two-dimensional [[image]] is not just a representation of a real-world object, but an independent artifact with added semantic value; two-dimensional models are therefore preferred, because they give more direct control of the image than [[3D computer graphics]], whose approach is more akin to [[photography]] than to [[typography]].


Various techniques are designed to render [[shadow]]s using [[Shadow mapping | shadow maps]] and [[Ray tracing (graphics) | ray tracing]].
==== Pixel art ====
[[Pixel art]] is a form of [[digital art]], created through the use of [[raster graphics]] [[software]], where images are edited on the [[pixel]] level. Graphics in most old (or relatively limited) computer and video games, [[graphing calculator]] games, and many [[mobile phone]] games are mostly pixel art.


;Advanced Rendering Techniques
==== Vector graphics ====
[[Image:CTWristImage.png|thumb| Volume rendered [[Computed tomography|CT]] scan of a forearm with different colour schemes for muscle, fat, bone, and blood.]]
[[Image:VectorBitmapExample.png|thumb|Example showing effect of vector graphics versus raster graphics.]]
[[Ray tracing (graphics) | Ray tracing]] is used to render [[reflection (mathematics) | reflections]] off [[gloss (material appearance) | gloss]] shiny [[specular]] objects, [[refraction]]s through [[transparency (optics) | transparent]] objects like [[glass]], and [[shadow]]s. [[Specular reflection]]s and refractions are rendered by tracing rays of light through a 3D scene [[recursion | recursively]].
[[Vector graphics]] formats are complementary to [[raster graphics]], which is the representation of images as an array of [[pixel]]s, as it is typically used for the representation of photographic images.<ref>{{cite book | title = Processing: Creative Coding and Computational Art | author = Ira Greenberg | publisher = Apress | year = 2007 | isbn = 159059617X | url = http://books.google.com/books?id=WTl_7H5HUZAC&pg=PA115&dq=raster+vector+graphics+photographic&lr=&as_brr=0&ei=llOVR5LKCJL0iwGZ8-ywBw&sig=YEjfPOYSUDIf1CUbL5S5Jbzs7M8 }}</ref> There are instances when working with vector tools and formats is best practice, and instances when working with raster tools and formats is best practice. There are times when both formats come together. An understanding of the advantages and limitations of each technology and the relationship between them is most likely to result in efficient and effective use of tools.


While ray tracing is suited for rendering specular reflections off multiple shiny objects, light can also reflect off [[gloss (material appearance) | dull]] objects through [[diffuse reflection]]s. Diffuse reflections can be rendered using [[radiosity]].
=== 3D computer graphics ===
[[3D computer graphics]] in contrast to [[2D computer graphics]] are graphics that use a [[Cartesian coordinate system#Three-dimensional coordinate system|three-dimensional]] representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images. Such images may be for later display or for real-time viewing.


The most advanced rendered techniques are often called [[global illumination]] techniques and attempt to fully solve the [[rendering equation]]. These methods render both diffuse and specular reflections and can create effects like [[caustic (optics) | caustics]] which can not be generated using [[Ray tracing (graphics) | ray tracing]] or [[radiosity]]. Global illumination techniques can produce nearly photorealistic results, but may require enormous computing power. Popular global illumination methods include [[path tracing]], [[Metropolis light transport]], and [[photon mapping]].
Despite these differences, 3D computer graphics rely on many of the same [[algorithm]]s as 2D computer [[vector graphics]] in the [[wire frame model]] and 2D computer [[raster graphics]] in the final rendered display. In computer graphics software, the distinction between 2D and 3D is occasionally blurred; 2D applications may use 3D techniques to achieve effects such as lighting, and primarily 3D may use 2D rendering techniques.


;Alternative Rendering Techniques
3D computer graphics are often referred to as [[3D models]]. Apart from the rendered graphic, the model is contained within the graphical data file. However, there are differences. A 3D model is the [[Mathematics|mathematical]] representation of any [[Three-dimensional space|three-dimensional]] object (either inanimate or living). A model is not technically a graphic until it is visually displayed. Due to [[3D printing]], 3D models are not confined to virtual space. A model can be displayed visually as a two-dimensional image through a process called ''[[3D rendering]],'' or used in non-graphical [[computer simulation]]s and calculations.


Most rendering techniques render the 2D surfaces of objects, but [[volume rendering]] is for rendering 3D data sets such as data acquired from a [[computed axial tomography|CT]] or [[magnetic resonance imaging|MRI]] scanner. Usually, this data is stored in a regular volumetric grid with each volume element or [[voxel]] recording some measured value. Surfaces can be extracted from volume data using the [[Marching cubes]] algorithm.
=== Computer animation ===
[[image:Activemarker2.PNG|right|thumb|An example of Computer animation produced using [[Motion capture]]]]
[[Computer animation]] is the art of creating moving images via the use of [[computer]]s. It is a subfield of [[computer graphics]] and [[animation]]. Increasingly it is created by means of [[3D computer graphics]], though [[2D computer graphics]] are still widely used for stylistic, low bandwidth, and faster real-time rendering needs. Sometimes the target of the animation is the computer itself, but sometimes the target is another [[Recording medium|medium]], such as [[film]]. It is also referred to as CGI ([[Computer-generated imagery]] or computer-generated imaging), especially when used in films.


[[Image-based modeling and rendering | Image-based rendering]] techniques do not use 3D geometric models or volume data, but instead render images from collections of other images. While most rendering techniques are focused on achieving photorealistic results, [[non-photorealistic rendering]] methods are intended to produce images in an artistic style such as [[toon shading]] which produces images that resemble [[cartoon]]s.
To create the illusion of movement, an image is displayed on the computer [[computer display|screen]] then quickly replaced by a new image that is similar to the previous image, but shifted slightly. This technique is identical to the illusion of movement in [[television]] and [[film|motion pictures]].


== Concepts and Principles ==
== Animation ==
[[image:Activemarker2.PNG|right|thumb|An example of Computer animation produced using [[Motion capture]]]]
[[Computer Animation | Animation]] is the process of creating moving images. Characters are often animated by rigging the character’s skin to a [[Skeletal animation | skeleton]]. As an animator moves the skeleton, the skin deforms to reflect this motion. Another useful animation tool is [[motion capture]]. Motion capture uses markers that are placed a real human actor. The motion of these markers are captured by cameras and used to animate a virtual character. Besides character animation, many objects are best described using [[physics | physical simulations]] such as [[rigid body]] simulations and [[fluid dynamics]].


=== Image ===
== History ==
The phrase “Computer Graphics” was coined in 1960 by [[William Fetter]], a graphic designer for [[Boeing]] <ref name= "WC03"> Wayne Carlson (2003) [http://accad.osu.edu/~waynec/history/lessons.html A Critical History of Computer Graphics and Animation]. The Ohio State University</ref>. The field of computer graphics developed with the emergence of computer graphics hardware. Early projects like the [[Whirlwind (computer)|Whirlwind]] and [[SAGE Project]]s introduced the [[Cathode ray tube | CRT]] as a viable [[visual display unit | display]] and interaction interface and introduced the [[light pen]] as an [[input device]]. [[Image:SAGE control room.png|thumb|right|[[SAGE Project|SAGE]] Sector Control Room.]]
In common usage, an [[image]] or [[picture]] is an artifact, usually two-dimensional, that has a similar appearance to some [[subject (philosophy)|subject]]&mdash;usually a physical object or a [[person]]. Images may be two-[[dimension]]al, such as a [[photograph]], screen display, and as well as a three-dimensional, such as a [[statue]]. They may be ''captured'' by [[optics|optical]] devices&mdash;such as [[camera]]s, [[mirror]]s, [[Lens (optics)|lenses]], [[telescope]]s, [[microscope]]s, etc. and natural objects and phenomena, such as the human [[eye]] or water surfaces.


Further advances in computing led to greater advancements in interactive computer graphics. In 1959, the [[TX-2]] computer was developed at [[Lincoln Laboratory | MIT's Lincoln Laboratory]]. The TX-2 integrated a number of new man-machine interfaces. A light pen could be used to draw sketches on the computer using [[Ivan Sutherland]]'s revolutionary [[Sketchpad | Sketchpad software]]. The development of Sketchpad made Ivan Sutherland the "grandfather" of interactive computer graphics and [[graphical user interface]]s. <ref name= "WC03"/>
A [[digital image]] is a representation of a two-dimensional [[image]] using ones and zeros (binary). Depending on whether or not the [[image resolution]] is fixed, it may be of [[vector graphics|vector]] or [[raster graphics|raster]] type. Without qualifications, the term "digital image" usually refers to raster images.


The research at MIT would help shape the early computer and computer graphics industries. Major corporations soon became interested in the technology. IBM quickly responded by releasing the IBM 2250 graphics terminal, the first commercially available graphics computer.<ref>[http://hem.passagen.se/des/hocg/hocg_1960.htm HISTORY OF COMPUTER GRAPHICS 1960-69].</ref> Several computer graphics companies were founded in the mid 1960s including [[TRW]], [[Lockheed]]-Georgia, [[General Electric]] and [[Sperry Rand]].
=== Pixel ===
[[Image:Pixel-example.png|thumb|right|In the enlarged portion of the image individual pixels are rendered as squares and can be easily seen.]]
In digital imaging, a [[pixel]] is the smallest piece of information in an image.<ref>{{Cite book | author=Rudolf F. Graf | title=Modern Dictionary of Electronics | date=1999 | publisher=Newnes | location=Oxford | isbn=0-7506-4331-5 | pages=569 | url = http://books.google.com/books?id=o2I1JWPpdusC&pg=PA569&dq=pixel+intitle:%22Modern+Dictionary+of+Electronics%22+inauthor:graf&lr=&as_brr=0&ei=5ygASM3qHoSgiwH45-GIDA&sig=7tg-LuGdu6Njypaawi2bbkeq8pw}}</ref> Pixels are normally arranged in a regular 2-dimensional grid, and are often represented using dots or squares. Each pixel is a [[sample (signal)|sample]] of an original image, where more samples typically provide a more accurate representation of the original. The [[Intensity (physics)|intensity]] of each pixel is variable; in color systems, each pixel has typically three or four components such as [[RGB color model|red, green, and blue]], or [[CMYK color model|cyan, magenta, yellow, and black]].


In 1969, the [[Association for Computing Machinery | ACM]] initiated A Special Interest Group in Graphics ([[SIGGRAPH]]) which organizes [[List of computer science conferences#Computer graphics | conferences]], graphics standards, and publications within the field of computer graphics. In 1973, the first annual SIGGRAPH conference was held, which has become one of the focuses of the organization. SIGGRAPH has grown in size and importance as the field of computer graphics has expanded over time.
=== Graphics ===
Many of the most important early breakthroughs in computer graphics research occurred at the [[University of Utah]] in the 1970s. These advancements include [[Gouraud shading]], [[Phong shading]], [[z-buffering]] and [[texture mapping]] by [[Edwin Catmull]], and [[bump mapping]] by [[Jim Blinn]].
[[Graphics]] are [[visual]] presentations on some surface, such as a wall, [[canvas]], computer screen, paper, or stone to [[brand]], inform, illustrate, or entertain. Examples are [[photograph]]s, [[drawings]], [[line art]], [[graphs]], [[diagrams]], [[typography]], [[number]]s, [[symbols]], [[geometric]] designs, [[maps]], [[engineering drawings]], or other [[image]]s. Graphics often combine [[character (computer)|text]], [[illustration]], and [[color]]. Graphic design may consist of the deliberate selection, creation, or arrangement of typography alone, as in a brochure, flier, poster, web site, or book without any other element. Clarity or effective communication may be the objective, association with other cultural elements may be sought, or merely, the creation of a distinctive style.

=== Rendering ===
[[Rendering (computer graphics)|Rendering]] is the process of generating an image from a [[3D model|model]], by means of computer programs. The model is a description of three dimensional objects in a strictly defined language or data structure. It would contain geometry, viewpoint, [[texture mapping|texture]], [[lighting]], and [[shading]] information. The image is a [[digital image]] or [[raster graphics]] [[image]]. The term may be by analogy with an "artist's rendering" of a scene. 'Rendering' is also used to describe the process of calculating effects in a video editing file to produce final video output.

;3D projection
:[[3D projection]] is a method of mapping three dimensional points to a two dimensional plane. As most current methods for displaying graphical data are based on planar two dimensional media, the use of this type of projection is widespread, especially in computer graphics, engineering and drafting.

;Ray tracing
:[[Ray tracing]] is a technique for generating an [[digital image|image]] by tracing the path of [[light]] through [[pixel|pixels]] in an [[image plane]]. The technique is capable of producing a very high degree of [[photorealism]]; usually higher than that of typical [[scanline rendering]] methods, but at a greater [[computation time|computational cost]].

;Shading
[[Image:Shading1.jpg|thumb|right|Example of shading.]]
:[[Shading]] refers to [[wikt:depicting|depicting]] depth in [[3D model]]s or illustrations by varying levels of [[darkness]]. It is a process used in drawing for depicting levels of darkness on paper by applying media more densely or with a darker shade for darker areas, and less densely or with a lighter shade for lighter areas. There are various techniques of shading including [[Hatching|cross hatching]] where perpendicular lines of varying closeness are drawn in a grid pattern to shade an area. The closer the lines are together, the darker the area appears. Likewise, the farther apart the lines are, the lighter the area appears. The term has been recently generalized to mean that [[shader]]s are applied.

;Texture mapping
:[[Texture mapping]] is a method for adding detail, surface texture, or colour to a [[computer-generated imagery|computer-generated graphic]] or [[3D model]]. Its application to 3D graphics was pioneered by Dr [[Edwin Catmull]] in 1974. A texture map is applied (mapped) to the surface of a shape, or polygon. This process is akin to applying patterned paper to a plain white box. Multitexturing is the use of more than one texture at a time on a polygon.<ref>Blythe, David. ''[http://www.opengl.org/resources/code/samples/sig99/advanced99/notes/notes.html Advanced Graphics Programming Techniques Using OpenGL].'' Siggraph 1999. (see: [http://www.opengl.org/resources/code/samples/sig99/advanced99/notes/node60.html Multitexture])</ref>

=== Volume rendering ===
[[Image:CTWristImage.png|thumb| Volume rendered [[Computed tomography|CT]] scan of a forearm with different colour schemes for muscle, fat, bone, and blood.]]
[[Volume rendering]] is a technique used to display a [[3D projection|2D projection]] of a 3D discretely [[Sampling (signal processing)|sampled]] [[data set]]. A typical 3D data set is a group of 2D slice images acquired by a [[computed axial tomography|CT]] or [[magnetic resonance imaging|MRI]] scanner.


In the 1980s, artists and graphic designers began to see the personal computer, particularly the [[Commodore Amiga]] and [[Apple Macintosh|Macintosh]], as a serious design tool, one that could save time and draw more accurately than other methods. In the late 1980s, [[Silicon Graphics|SGI]] computers were used to create some of the first fully computer-generated [[short film]]s at [[Pixar]]. The Macintosh remains a highly popular tool for computer graphics among graphic design studios and businesses. Modern computers, dating from the 1980s often use [[graphical user interfaces]] (GUI) to present data and information with symbols, icons and pictures, rather than text. Graphics are one of the five key elements of [[multimedia]] technology.
Usually these are acquired in a regular pattern (e.g., one slice every millimeter) and usually have a regular number of image [[pixel]]s in a regular pattern. This is an example of a regular volumetric grid, with each volume element, or [[voxel]] represented by a single value that is obtained by sampling the immediate area surrounding the voxel.


In the 1990s, 3D graphics became more common in [[video game | gaming]], [[multimedia]] and [[animation]]. Innovative computer games such as [[Doom (video game) | Doom]] (1993) and [[Quake (video game) | Quake]] (1996) introduced 3D graphics to a mass audience. In 1995, [[Pixar]] released [[Toy Story]], the first full-length computer-generated animation film. Since then, computer graphics have only become more detailed and realistic, due to more powerful graphics hardware and 3D modeling software.
=== 3D modeling ===
[[3D modeling]] is the process of developing a mathematical, [[wire frame model|wireframe]] representation of any three-dimensional object via specialized software. The product is called a "3D model". It can be displayed as a two-dimensional image through a process called ''[[3D rendering]]'' or used in a [[computer]] [[simulation]] of physical phenomena. The model can also be physically created using [[3D Printing]] devices. Models may be created automatically or manually. The manual modeling process of preparing geometric data for 3D computer graphics is similar to [[plastic arts]] such as [[sculpting]].


== Pioneers in graphic design ==
== Pioneers in Computer Graphics ==
<!-- this is just a first selection. -->
<!-- this is just a first selection. -->
[[Image:utah teapot simple 2.png|thumb|A modern render of the [[Utah teapot]], an iconic model in 3D computer graphics created by [[Martin Newell]] in 1975.]]
;Charles Csuri
* [[Jim Blinn]]
:[[Charles Csuri]] is best known for pioneering the field of computer graphics, computer animation and digital fine art, creating the first computer art in 1964. Csuri has been recognized as the father of digital art and computer animation by ''[[Smithsonian (magazine)|Smithsonian]]'', and as a leading pioneer of computer animation by the [[Museum of Modern Art]] (MoMA) and The Association for Computing Machinery Special Interest Group Graphics (ACM-SIGGRAPH).

;Donald P. Greenberg
:[[Donald P. Greenberg]] is an internationally recognized pioneer in computer graphics, Greenberg has authored hundreds of articles and served as a teacher and mentor to many prominent computer graphic artists and animators. Five former students have won Academy Awards for Scientific or Technical Achievements, five have won the [[SIGGRAPH]] Achievement Award, and many now work for [[Pixar]] Animation Studios. Greenberg was the founding director of the National Science Foundation Science and Technology Center for Computer Graphics and Scientific Visualization when it was created in 1991. His former students include [[Robert L. Cook]], [[Marc Levoy]], and [[Wayne Lytle]].

;A. Michael Noll
:[[A. Michael Noll|Noll]] was one of the first researchers to use a [[digital]] [[computer]] to create artistic patterns and to formalize the use of random processes in the creation of [[visual arts]]. His initial digital computer art was programmed in the summer of 1962 at Bell Telephone Laboratories in Murray Hill, NJ, making him one of the earliest digital computer artists. In 1965 Noll along with two other pioneers within the field of early computer art, Frieder Nake and Georg Nees in Germany, were the first to exhibit publicly their computer art. During April 1965, the Howard Wise Gallery in New York City exhibited Noll's computer art along with random-dot patterns by Bela Julesz.

;Other pioneers
* [[Benoît B. Mandelbrot]]
* [[Benoît B. Mandelbrot]]
* [[Henri Gouraud]]
* [[Henri Gouraud]]
Line 111: Line 72:
* [[Pierre Bézier]]
* [[Pierre Bézier]]
* [[Paul de Casteljau]]
* [[Paul de Casteljau]]
* [[Charles Csuri]]
* [[Donald P. Greenberg]]
* [[A. Michael Noll]]
* [[Daniel J. Sandin]]
* [[Daniel J. Sandin]]
* [[Alvy Ray Smith]]
* [[Alvy Ray Smith]]
Line 116: Line 80:
* [[Steve Russell]]
* [[Steve Russell]]


== Related Studies ==
== The study of computer graphics ==
Related studies include:

=== Computer graphics ===
[[Image:utah teapot simple 2.png|thumb|A modern render of the [[Utah teapot]], an iconic model in 3D computer graphics created by [[Martin Newell]] in 1975.]]
The study of [[Computer graphics (computer science)|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]].

As an [[academic]] discipline, computer graphics studies the 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 ===
Connected studies include:
* [[Scientific visualization]]
* [[Scientific visualization]]
* [[Information visualization]]
* [[Information visualization]]

Revision as of 18:02, 18 April 2009

A Blender 2.45 screenshot.

Computer graphics is a branch of computer science devoted to the study of algorithms for creating and manipulating visual imagery. Advancements in computer graphics have made computers easier to interact with and better for visualizing many types of data. Developments in computer graphics have had a profound impact on many types of media and have revolutionized the animation and video game industry.

Images

In the enlarged portion of the image individual pixels are rendered as squares and can be easily seen.
Example showing effect of vector graphics versus raster graphics.

Images are often represented as two-dimensional arrays of pixels where a pixel is the smallest component of an image. Each pixel records a single color value. Colors are perceived in the human eye with photoreceptor cells called cones. Humans have three different types of cones which respond to three different wavelengths of light: red, green, and blue. These three types of light can be combined together in different amounts to create any color of the rainbow. Colors are often represented simply as a combination of red, green, and blue RGB color values, but other representations may also be used.

Images are represented by arrays of pixels in what is called raster graphics. An alternative is to represent images using geometric primitives such as points, lines, curves, or polygons in what is called vector graphics [1]. Since raster graphics is used in nearly all modern display systems (such as CRTs and LCDs), vector graphics must be converted to raster graphics in a process called rasterization.

2D computer graphics operates directly on images and are mainly used in applications that were originally developed for traditional printing and drawing uses, such as typography, cartography, technical drawing, advertising, and image editing. 3D computer graphics uses 3D models.

3D Models and Modeling

The shapes of objects are represented by three-dimensional models. Models often consist of a collection of polygons which approximates the surface of an object. With enough polygons the shape of nearly any surface can be approximated accurately. Shapes can be represented in other ways that do not use polygons such as with NURBS.

Many techniques exist for acquiring and manipulating 3D models. Models can be built up from geometric primitives using popular 3D modeling software such as 3D Studio, Maya, and Blender. Techniques designed to generate models automatically are called procedural modeling techniques. Models can also be acquired from laser scans or images of real-world objects using techniques developed within the field of computer vision.

Rendering

Example of shading.

The process of drawing images from 3D models is called rendering. Rendering algorithms simulates how light interacts with objects in a scene.

Humans perceive light that travels through the lens of our eye and projects onto the surface of our retina. There is a mapping between the 3D world and the 2D image it forms within a camera or the eye which is explained by perspective projection.

Opaque objects block light traveling from objects behind them. To determine if part of an object is visible, various hidden surface removal algorithms can be used, such as z-buffering. Objects above, below, or otherwise outside the viewport are not visible and can be clipped using various algorithms.

The amount of light that bounces off an object depends on how its surface is shaped, on what material it is made of, and on how it is oriented with respect to any light sources and the camera. These factors all influence the appearance of an object and can be computed using various shading techniques such as Phong shading.

The material properties of an object, such as its color, often vary over its surface. For example, a poster may not have a uniform color, but may have different colors at different points on its surface. Changes in color and other material properties can be rendered using texture mapping.

Various techniques are designed to render shadows using shadow maps and ray tracing.

Advanced Rendering Techniques
Volume rendered CT scan of a forearm with different colour schemes for muscle, fat, bone, and blood.

Ray tracing is used to render reflections off gloss shiny specular objects, refractions through transparent objects like glass, and shadows. Specular reflections and refractions are rendered by tracing rays of light through a 3D scene recursively.

While ray tracing is suited for rendering specular reflections off multiple shiny objects, light can also reflect off dull objects through diffuse reflections. Diffuse reflections can be rendered using radiosity.

The most advanced rendered techniques are often called global illumination techniques and attempt to fully solve the rendering equation. These methods render both diffuse and specular reflections and can create effects like caustics which can not be generated using ray tracing or radiosity. Global illumination techniques can produce nearly photorealistic results, but may require enormous computing power. Popular global illumination methods include path tracing, Metropolis light transport, and photon mapping.

Alternative Rendering Techniques

Most rendering techniques render the 2D surfaces of objects, but volume rendering is for rendering 3D data sets such as data acquired from a CT or MRI scanner. Usually, this data is stored in a regular volumetric grid with each volume element or voxel recording some measured value. Surfaces can be extracted from volume data using the Marching cubes algorithm.

Image-based rendering techniques do not use 3D geometric models or volume data, but instead render images from collections of other images. While most rendering techniques are focused on achieving photorealistic results, non-photorealistic rendering methods are intended to produce images in an artistic style such as toon shading which produces images that resemble cartoons.

Animation

An example of Computer animation produced using Motion capture

Animation is the process of creating moving images. Characters are often animated by rigging the character’s skin to a skeleton. As an animator moves the skeleton, the skin deforms to reflect this motion. Another useful animation tool is motion capture. Motion capture uses markers that are placed a real human actor. The motion of these markers are captured by cameras and used to animate a virtual character. Besides character animation, many objects are best described using physical simulations such as rigid body simulations and fluid dynamics.

History

The phrase “Computer Graphics” was coined in 1960 by William Fetter, a graphic designer for Boeing [2]. The field of computer graphics developed with the emergence of computer graphics hardware. Early projects like the Whirlwind and SAGE Projects introduced the CRT as a viable display and interaction interface and introduced the light pen as an input device.

SAGE Sector Control Room.

Further advances in computing led to greater advancements in interactive computer graphics. In 1959, the TX-2 computer was developed at MIT's Lincoln Laboratory. The TX-2 integrated a number of new man-machine interfaces. A light pen could be used to draw sketches on the computer using Ivan Sutherland's revolutionary Sketchpad software. The development of Sketchpad made Ivan Sutherland the "grandfather" of interactive computer graphics and graphical user interfaces. [2]

The research at MIT would help shape the early computer and computer graphics industries. Major corporations soon became interested in the technology. IBM quickly responded by releasing the IBM 2250 graphics terminal, the first commercially available graphics computer.[3] Several computer graphics companies were founded in the mid 1960s including TRW, Lockheed-Georgia, General Electric and Sperry Rand.

In 1969, the ACM initiated A Special Interest Group in Graphics (SIGGRAPH) which organizes conferences, graphics standards, and publications within the field of computer graphics. In 1973, the first annual SIGGRAPH conference was held, which has become one of the focuses of the organization. SIGGRAPH has grown in size and importance as the field of computer graphics has expanded over time. Many of the most important early breakthroughs in computer graphics research occurred at the University of Utah in the 1970s. These advancements include Gouraud shading, Phong shading, z-buffering and texture mapping by Edwin Catmull, and bump mapping by Jim Blinn.

In the 1980s, artists and graphic designers began to see the personal computer, particularly the Commodore Amiga and Macintosh, as a serious design tool, one that could save time and draw more accurately than other methods. In the late 1980s, SGI computers were used to create some of the first fully computer-generated short films at Pixar. The Macintosh remains a highly popular tool for computer graphics among graphic design studios and businesses. Modern computers, dating from the 1980s often use graphical user interfaces (GUI) to present data and information with symbols, icons and pictures, rather than text. Graphics are one of the five key elements of multimedia technology.

In the 1990s, 3D graphics became more common in gaming, multimedia and animation. Innovative computer games such as Doom (1993) and Quake (1996) introduced 3D graphics to a mass audience. In 1995, Pixar released Toy Story, the first full-length computer-generated animation film. Since then, computer graphics have only become more detailed and realistic, due to more powerful graphics hardware and 3D modeling software.

Pioneers in Computer Graphics

A modern render of the Utah teapot, an iconic model in 3D computer graphics created by Martin Newell in 1975.

Related studies include:

Applications

References

  1. ^ Ira Greenberg (2007). Processing: Creative Coding and Computational Art. Apress. ISBN 159059617X.
  2. ^ a b Wayne Carlson (2003) A Critical History of Computer Graphics and Animation. The Ohio State University
  3. ^ HISTORY OF COMPUTER GRAPHICS 1960-69.

Further reading

  • James D. Foley, Andries Van Dam, Steven K. Feiner and John F. Hughes (1995). Computer Graphics: Principles and Practice. Addison-Wesley
  • Donald Hearn and M. Pauline Baker (1994). Computer Graphics. Prentice-Hall.
  • Francis S. Hill (2001). Computer Graphics. Prentice Hall.
  • John Lewell (1985). Computer Graphics: A Survey of Current Techniques and Applications. Van Nostrand Reinhold.
  • Jeffrey J. McConnell (2006). Computer Graphics: Theory Into Practice. Jones & Bartlett Publishers.
  • R. D. Parslow, R. W. Prowse, Richard Elliot Green (1969). Computer Graphics: Techniques and Applications.
  • Peter Shirley and others. (2005). Fundamentals of computer graphics. A.K. Peters, Ltd.
  • M. Slater, A. Steed, Y. Chrysantho (2002). Computer graphics and virtual environments: from realism to real-time. Addison-Wesley

Template:Link FA