3D computer graphics
The term 3D computer graphics refers in particular to works of graphic art
that were created with the aid of digital computers and specialized 3D
software. In general, the term may also refer to the process of creating
such graphics, or the field of study of 3D computer graphic techniques and
its related technology.
3D computer graphics are distinct from 2D computer graphics in that a
three-dimensional virtual representation of objects is stored in the
computer for the purposes of performing calculations and rendering images.
In general, the art of 3D graphics is akin to sculpting or photography,
while the art of 2D graphics is analogous to painting. In computer graphics
software, this distinction is occasionally blurred; some 2D applications use
3D techniques to achieve certain effects such as lighting, while some
primarily 3D applications make use of 2D visual techniques.
Technology
OpenGL and Direct3D are two popular APIs for the generation of 3D imagery on
the fly. Many modern graphics cards provide some degree of hardware
acceleration based on these APIs, frequently enabling the display of complex
3D graphics in real-time. However, it's not necessary to employ any one of
these to actually create 3D imagery.
Creation of 3D computer graphics
The process of creating 3D computer graphics can be sequentially divided
into three basic phases:
* Modelling
* Scene layout setup
* Rendering
Modelling
The modelling stage could be described as shaping individual objects that
are later used in the scene. There exist a number of modelling techniques;
Constructive Solid Geometry, NURBS modelling and polygonal modelling are
good examples. Modelling processes may also include editing object surface
or material properties (e.g., color, luminosity, diffuse and specular
shading components—more commonly called roughness and shininess,
reflection characteristics, transparency or opacity, or index of
refraction), adding textures, bump-maps and other features.
Modelling may also include various activities related to preparing a 3D
model for animation. Objects may be fitted with a skeleton, a central
framework of an object with the capability of affecting the shape or
movements of that object. This aids in the process of animation, in that the
movement of the skeleton will automatically affect the corresponding
portions of the model. See also Forward kinematic animation and Inverse
kinematic animation.
Modelling can be performed by means of a dedicated program (e.g., Lightwave
Modeler, Rhinoceros 3D, Moray), an application component (Shaper, Lofter in
3D Studio) or some scene description language (as in POV-Ray). In some
cases, there is no strict distinction between these phases; in such cases
modelling is just part of the scene creation process (this is the case, for
example, with Caligari trueSpace).
Scene layout setup
Scene setup involves arranging virtual objects, lights, cameras and other
entities on a scene which will later be used to produce a still image or an
animation. If used for animation, this phase usually makes use of a
technique called "keyframing", which facilitates creation of complicated
movement in the scene. With the aid of keyframing, instead of having to fix
an object's position, rotation, or scaling for each frame in an animation,
one needs only to set up some key frames between which states in every frame
are interpolated.
Lighting is an important aspect of scene setup. As is the case in real-world
scene arrangement, lighting is a significant contributing factor to the
resulting aesthetic and visual quality of the finished work. As such, it can
be a difficult art to master. Lighting effects can contribute greatly to the
mood and emotional response effected by a scene, a fact which is well-known
to photographers and theatrical lighting technicians.
Tesselation and Meshes
The process of transforming representations of objects, such as the middle
point coordinate of a sphere and a point on it's circumference into a
polygon representation of a sphere, is called tesselation. This step is used
in polygon-based rendering, where objects are broken down from abstract
representations ("primitives") such as spheres, cones etc, to so-calles
meshes, which are nets of inteconnected triangles.
Meshes of triangles (instead of e.g. squares) are popular as they have
proven to be easy to render using scanline rendering.
Polygon representations are not used in all rendering techniques, and in
these cases the tesselation step is not included in the transition from
abstract representation to rendered scene.
Rendering
Rendering is the final process of creating the actual 2D image or animation
from the prepared scene. This can be compared to taking a photo or filming
the scene after the setup is finished in real life. Photo-realistic image
quality is often a desirable outcome, and to this end several different, and
often specialized, rendering methods have been developed. These range from
the distinctly non-realistic wireframe rendering through polygon-based
rendering, to more modern techniques such as: scanline rendering, raytracing
or radiosity.
Rendering software may simulate such cinematographic effects as lens flares,
depth of field or motion blur. These artifacts are, in reality, a by-product
of the mechanical imperfections of physical photography, but as the human
eye is accustomed to their presence, the simulation of such artifacts can
lend an element of realism to a scene. Techniques have been developed for
the purpose of simulating other naturally-occurring effects, such as the
interaction of light with atmosphere, smoke, or particulate matter. Examples
of such techniques include particle systems (which can simulate rain, smoke,
or fire), volumetric sampling (to simulate fog, dust and other spatial
atmospheric effects), and caustics (to simulate light focusing by uneven
light-refracting surfaces, such as the light ripples seen on the bottom of a
swimming pool).
The rendering process is known to be computationally expensive, given the
complex variety of physical processes being simulated. Computer processing
power has increased rapidly over the years, allowing for a progressively
higher degree of realistic rendering. Film studios that produce
computer-generated animations typically make use of a render farm to
generate images in a timely manner.
Reflection and Shading Models
Modern 3D computer graphics rely heavily on a simplified reflection model
called Phong reflection model, which should not be confused with Phong
shading which is an entirely different matter.
This reflection model and the shading techniques it gives rise to, apply to
polygon-based rendering only. I.e. raytracing and radiosity does not use it.
Popular reflection rendering techniques in 3D computer graphics include:
Flat shading
A technique that shades each polygon of an object based on the
polygon's "normal" and the position and intensity of a light source.
Gouraud shading
Invented by H. Gouraud in 1971, a fast and resource-conscious vertex
shading technique used to simulate smoothly shaded surfaces.
Texture mapping
A technique for simulating a large amount of surface detail by mapping
images (textures) onto polygons.
Phong shading
Invented by Wu Tong Phong, used to simulate specular highlights and
smooth shaded surfaces.
Bump mapping
Invented by Jim Blinn, a normal-perturbation technique used to simulate
wrinkled surfaces.
3D graphics APIs
3D graphics have become so popular, particulary in computer games, that
specialized APIs (Application Programmer Interfaces) have been created to
ease the processes in all stages of computer graphics generation. These APIs
have also proved vital to computer graphics hardware manufacturers, as they
provide a way for programmers to access the hardware in an abstract way,
while still taking advantage of the special hardware of this-or-that
graphics card.
These APIs for 3D computer graphics are particularly popular:
* OpenGL
* Direct3D (a subset of DirectX)
* RenderMan
3D graphics software
While there are many 3D modelling and animation packages, The four that have
gained most popularity are:
* Alias Wavefront's Maya - Perhaps the most popular 3D software in the
industry as of 2003. Used by many of the leading visual effects studios
in combination with Pixar's Photorealistic Renderman. Well regarded due
to the flexible plugin API and MEL scripting interface. Version 5 as of
sept 2003.
* discreet's 3D Studio Max - Originally written by Kinetix (a division of
Autodesk) as a successor to 3D Studio. Kinetix was later merged with
Autodesk's latest acquisition, Discreet Logic. Current version as of
Feb 2003 is 5.1. Widely used in the games industry and by home users.
* Newtek's Lightwave 3D - originally developed for Amiga computers in
early 1990s, it later evolved into an advanced and widely used 3D
graphics and animation package, now available for Windows, Mac OS and
Mac OS X. Current version is 7.5 (as of late 2003). It consists of two
components: Modeler and Layout (scene editor). It is the favorite among
hobbyists, and is used in many major visual effects facilities such as
Digital Domain.
* Avid's Softimage XSI - Biggest contender to Maya's dominance.In 1987,
Softimage Inc, a Montreal-based company wrote Softimage|3D which
quickly became the most popular 3D program of that period. In 1994,
Microsoft purchased Softimage Inc. They started rewriting SI|3D for
Windows NT. That effort was called Softimage|XSI. Microsoft sold
Softimage to Avid in 1998. Till version 1.5, XSI was playing catchup in
terms of features to its predecessor SI|3D. But since version 2.0, it's
a complete package and is likely to win the top spot that its
predecessor enjoyed. Current version as of late 2003 is 3.5 with 4.0
rumored to be released soon.
Besides these major packages, there are others which haven't quite gained
mass acceptance but aren't toys either. Among them are:
* Caligari trueSpace - an integrated 3D graphics application with an
intuitive interface. A distinctive feature of this application is that
all phases of 3D graphics creation are performed within a single
program. Not as advanced as leading packages in this domain but
provides such features as physical phenomena simulation (e.g., wind,
gravity, body collisions) out-of-the-box.
* Cinema4d - fast rendering engine, radiosity rendering
* formZ - offers topological manipulation of geometry
* Rhinoceros 3D - a powerful NURBS modeller.
* POV-Ray - advanced free raytracing software. Uses its own scene
description language with features like macros, loops and conditional
statements. It's completely free albeit not released under GPL. Does
not include a built-in modeler.
* Moray - modeler for POV-Ray.
* Blender - a free modeller and renderer with such features as support
for scripting.
* RealSoft3D - linux and windows 3d modeller and renderer
* Universe by Electric Image - Modeling and Animation suite with one of
the fastest 3D renderers that exists.
Encyclopedia - Books - Religion - Links - Home - Message Boards
This Wikipedia content is licensed under the GNU Free Documentation License.
