3D computer graphics or three-dimensional computer graphics (in contrast to 2D computer
graphics), are graphics that use a three-dimensional representation of geometric data (often Cartesian)
that is stored in the computer for the purposes of performing calculations and rendering 2D
images.
Such images may be stored for viewing later or displayed in real-time.
3D computer graphics rely on many of the same algorithms as 2D computer vector graphics
in the wire-frame model and 2D computer raster graphics in the final rendered display.
In computer graphics software, 2D applications may use 3D techniques to achieve effects such
as lighting, and 3D may use 2D 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 mathematical representation of any
three-dimensional object.
A model is not technically a graphic until it is displayed.
A model can be displayed visually as a two-dimensional image through a process called 3D rendering
or used in non-graphical computer simulations and calculations.
With 3D printing, 3D models are similarly rendered into a 3D physical representation
of the model, with limitations to how accurate the rendering can match the virtual model.
== History ==
William Fetter was credited with coining the term computer graphics in 1961 to describe
his work at Boeing.
One of the first displays of computer animation was Futureworld (1976), which included an
animation of a human face and a hand that had originally appeared in the 1972 experimental
short A Computer Animated Hand, created by University of Utah students Edwin Catmull
and Fred Parke.3D computer graphics software began appearing for home computers in the
late 1970s.
The earliest known example is 3D Art Graphics, a set of 3D computer graphics effects, written
by Kazumasa Mitazawa and released in June 1978 for the Apple II.
== Overview == 3D computer graphics creation falls into three
basic phases:
3D modeling – the process of forming a computer model of an object's shape
Layout and animation – the placement and movement of objects within a scene
3D rendering – the computer calculations that, based on light placement, surface types,
and other qualities, generate the image
=== Modeling ===
The model describes the process of forming the shape of an object.
The two most common sources of 3D models are those that an artist or engineer originates
on the computer with some kind of 3D modeling tool, and models scanned into a computer from
real-world objects.
Models can also be produced procedurally or via physical simulation.
Basically, a 3D model is formed from points called vertices (or vertexes) that define
the shape and form polygons.
A polygon is an area formed from at least three vertexes (a triangle).
A polygon of n points is an n-gon.
The overall integrity of the model and its suitability to use in animation depend on
the structure of the polygons.
=== Materials and textures === Which includes giving the model the properties
that the render engine uses to render the model, in an unbiased render engine like blender
cycles one can give the model materials to tell the engine how to treat light when it
hits the surface.
Textures are also used to give the material color like a color or albedo map, or give
the surface features like bump or normal maps.
It can be also used to deform the model itself like a displacement map.
=== Layout and animation ===
Before rendering into an image, objects must be laid out in a scene.
This defines spatial relationships between objects, including location and size.
Animation refers to the temporal description of an object (i.e., how it moves and deforms
over time.
Popular methods include keyframing, inverse kinematics, and motion capture).
These techniques are often used in combination.
As with animation, physical simulation also specifies motion.
=== Rendering ===
Rendering converts a model into an image either by simulating light transport to get photo-realistic
images, or by applying an art style as in non-photorealistic rendering.
The two basic operations in realistic rendering are transport (how much light gets from one
place to another) and scattering (how surfaces interact with light).
This step is usually performed using 3D computer graphics software or a 3D graphics API.
Altering the scene into a suitable form for rendering also involves 3D projection, which
displays a three-dimensional image in two dimensions.
Although 3D modeling and CAD software may perform 3D rendering as well (e.g. Autodesk
3ds Max or Blender), exclusive 3D rendering software also exists.
== Software == 3D computer graphics software produces computer-generated
imagery (CGI) through 3D modeling and 3D rendering or produces 3D models for analytic, scientific
and industrial purposes.
=== Modeling ===
3D modeling software is a class of 3D computer graphics software used to produce 3D models.
Individual programs of this class are called modeling applications or modelers.
3D modelers allow users to create and alter models via their 3D mesh.
Users can add, subtract, stretch and otherwise change the mesh to their desire.
Models can be viewed from a variety of angles, usually simultaneously.
Models can be rotated and the view can be zoomed in and out.
3D modelers can export their models to files, which can then be imported into other applications
as long as the metadata are compatible.
Many modelers allow importers and exporters to be plugged-in, so they can read and write
data in the native formats of other applications.
Most 3D modelers contain a number of related features, such as ray tracers and other rendering
alternatives and texture mapping facilities.
Some also contain features that support or allow animation of models.
Some may be able to generate full-motion video of a series of rendered scenes (i.e. animation).
=== Computer-aided design ===
Computer aided design software may employ the same fundamental 3D modeling techniques
that 3D modeling software use but their goal differs.
They are used in computer-aided engineering, computer-aided manufacturing, Finite element
analysis, product lifecycle management, 3D printing and computer-aided architectural
design.
=== Complementary tools === After producing video, studios then edit or
composite the video using programs such as Adobe Premiere Pro or Final Cut Pro at the
mid-level, or Autodesk Combustion, Digital Fusion, Shake at the high-end.
Match moving software is commonly used to match live video with computer-generated video,
keeping the two in sync as the camera moves.
Use of real-time computer graphics engines to create a cinematic production is called
machinima.
== Communities == There are a multitude of websites designed
to help, educate and support 3D graphic artists.
Some are managed by software developers and content providers, but there are standalone
sites as well.
These communities allow for members to seek advice, post tutorials, provide product reviews
or post examples of their own work.
== Differences with other types of computer graphics ==
=== Distinction from photorealistic 2D graphics
===
Not all computer graphics that appear 3D are based on a wireframe model.
2D computer graphics with 3D photorealistic effects are often achieved without wireframe
modeling and are sometimes indistinguishable in the final form.
Some graphic art software includes filters that can be applied to 2D vector graphics
or 2D raster graphics on transparent layers.
Visual artists may also copy or visualize 3D effects and manually render photorealistic
effects without the use of filters.
=== Pseudo-3D and true 3D ===
Some video games use restricted projections of three-dimensional environments, such as
isometric graphics or virtual cameras with fixed angles, either as a way to improve performance
of the game engine, or for stylistic and gameplay concerns.
Such games are said to use pseudo-3D graphics.
By contrast, games using 3D computer graphics without such restrictions are said to use
true 3D.
== See also