3D computer graphics, sometimes calledCGI,3D-CGI orthree-dimensionalcomputer graphics, are graphics that use athree-dimensional representation of geometric data (oftenCartesian) that is stored in the computer for the purposes of performing calculations and renderingdigital images, usually2D images but sometimes3D images. The resulting images may be stored for viewing later (possibly as ananimation) or displayed inreal time.
3D computer graphics, contrary to what the name suggests, are most often displayed on two-dimensional displays. Unlike3D film and similar techniques, the result is two-dimensional, without visualdepth. More often, 3D graphics are being displayed on3D displays, like invirtual reality systems.
3D graphics stand in contrast to2D computer graphics which typically use completely different methods and formats for creation and rendering.
3D computer graphics rely on many of the samealgorithms as 2D computervector graphics in thewire-frame model and 2D computerraster graphics in the final rendered display. In computer graphics software, 2D applications may use 3D techniques to achieve effects such aslighting, and similarly, 3D may use some 2D rendering techniques.
The objects in 3D computer graphics are often referred to as3D models. Unlike the rendered image, a model's data is contained within a graphical data file. A 3D model is amathematicalrepresentation ofanythree-dimensional object; a model is not technically agraphic until it is displayed. A model can be displayed visually as a two-dimensional image through a process called3D rendering, or it can be used in non-graphicalcomputer simulations and calculations. With3D printing, models are rendered into an actual 3D physical representation of themselves, with some limitations as to how accurately the physical model can match the virtual model.[1]
3-D computer graphics software began appearing forhome computers in the late 1970s. The earliest known example is3D Art Graphics, a set of 3-D computer graphics effects, written by Kazumasa Mitazawa and released in June 1978 for theApple II.[6][7]
Virtual Reality 3D is a version of 3D computer graphics.[8] With the first headset coming out in the late 1950s, the popularity of VR didn't take off until the 2000s. In 2012 theOculus was released and since then, the 3D VR headset world has expanded.[9]
3D computer graphics production workflow falls into three basic phases:
3D modeling – the process of forming a computer model of an object's shape
Layout andCGI animation – the placement and movement of objects (models, lights etc.) within a scene
3D rendering – the computer calculations that, based on light placement,surface types, and other qualities, generate (rasterize the scene into) an image
The modeling 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 of3D modeling tool, and modelsscanned into acomputer from real-world objects (Polygonal Modeling, Patch Modeling and NURBS Modeling are some popular tools used in 3D modeling). Models can also be producedprocedurally or viaphysical simulation.
Basically, a 3D model is formed from points called vertices that define the shape and formpolygons. A polygon is an area formed from at least three vertices (a triangle). A polygon of n points is an n-gon.[10] The overall integrity of the model and its suitability to use in animation depend on the structure of the polygons.
Before rendering into an image, objects must be laid out in a3D scene. This defines spatial relationships between objects, includinglocation andsize. Animation refers to the temporal description of an object (i.e., how it moves and deforms over time. Popular methods includekeyframing,inverse kinematics, andmotion-capture). These techniques are often used in combination. As with animation,physical simulation also specifies motion.
Lego animation is one of the more common types of stop motion. Lego stop motion is the use of the figures themselves moving around. Some examples of this areLego Island andLego Harry Potter.[11]
Materials and textures are properties that the render engine uses to render the model. One can give the model materials to tell the render engine how to treat light when it hits the surface. Textures are used to give the material color using a color or albedo map, or give the surface features using abump map ornormal map. It can be also used to deform the model itself using adisplacement map.
Rendering converts a model into an image either by simulatinglight transport to get photo-realistic images, or by applying an art style as innon-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 3-D computer graphics software or a3-D graphics API.
Altering the scene into a suitable form for rendering also involves3D projection, which displays a three-dimensional image in two dimensions. Although 3-D modeling and CADsoftware may perform 3-D rendering as well (e.g.,Autodesk 3ds Max orBlender), exclusive 3-D rendering software also exists (e.g., OTOY'sOctane Rendering Engine, Maxon's Redshift)
During the 3-D rendering step, the number of reflections "light rays" can take, as well as various other attributes, can be tailored to achieve a desired visual effect. Rendered withCobalt.
There are many varieties of files supporting 3-D graphics, for example, Wavefront .obj files and .x DirectX files. Each file type generally tends to have its own unique data structure.
Each file format can be accessed through their respective applications, such as DirectX files, andQuake. Alternatively, files can be accessed through third-party standalone programs, or via manual decompilation.
3-D modeling software is a class of 3-D computer graphics software used to produce 3-D models. Individualprograms of this class are called modeling applications or modelers.
3-D modeling starts by describing 3 display models : Drawing Points, Drawing Lines and Drawing triangles and other Polygonal patches.[12]
3-D modelers allow users to create and alter models via their 3-Dmesh. 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.
3-D modelers can export their models tofiles, which can then be imported into other applications as long as themetadata are compatible. Many modelers allowimporters andexporters to beplugged-in, so they can read and write data in the native formats of other applications.
Most 3-D modelers contain a number of related features, such asray tracers and other rendering alternatives andtexture mapping facilities. Some also contain features that support or allow animation of models. Some may be able to generatefull-motion video of a series of rendered scenes (i.e.animation).
Not all computer graphics that appear 3D are based on awireframe model. 2D computer graphics with 3Dphotorealistic effects are often achieved without wire-frame modeling and are sometimes indistinguishable in the final form. Somegraphic 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 andmanually render photo-realistic effects without the use of filters.
Somevideo games use2.5D graphics, involving restricted projections of three-dimensional environments, such asisometric graphics orvirtual cameras with fixed angles, either as a way to improve performance of thegame engine or for stylistic and gameplay concerns. By contrast, games using 3D computer graphics without such restrictions are said[by whom?] to use true 3D.
Cutout is the use of flat materials such as paper. Everything is cut out of paper including the environment, characters, and even some props. An example of this isPaper Mario.[14]
Silhouette is similar to cutouts except they are one solid color, black.Limbo is an example of this.[14]
Pixelation is when the entire game appears pixelated, this includes the characters and the environment around them. One example of this is seen inShovel Knight.[14]