Rendering is the process of generating a
photorealistic
Photorealism is a genre of art that encompasses painting, drawing and other graphic media, in which an artist studies a photograph and then attempts to reproduce the image as realistically as possible in another medium. Although the term can b ...
or
non-photorealistic image from input data such as
3D model
In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based representation of a surface of an object (inanimate or living) in three dimensions via specialized software by manipulating edges, vertices, and ...
s. The word "rendering" (in one of its senses) originally meant the task performed by an artist when depicting a real or imaginary thing (the finished artwork is also called a "
rendering"). Today, to "render" commonly means to generate an image or video from a precise description (often created by an artist) using a
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
.
A
software application
Application software is any computer program that is intended for end-user use not computer operator, operating, system administration, administering or computer programming, programming the computer. An application (app, application program, sof ...
or
component
Component may refer to:
In engineering, science, and technology Generic systems
*System components, an entity with discrete structure, such as an assembly or software module, within a system considered at a particular level of analysis
* Lumped e ...
that performs rendering is called a rendering
engine
An engine or motor is a machine designed to convert one or more forms of energy into mechanical energy.
Available energy sources include potential energy (e.g. energy of the Earth's gravitational field as exploited in hydroelectric power ge ...
, render engine,
rendering system, graphics engine, or simply a renderer.
A distinction is made between
real-time rendering, in which images are generated and displayed immediately (ideally fast enough to give the impression of motion or animation), and offline rendering (sometimes called
pre-rendering
Pre-rendering is the process in which video footage is not rendered in real-time by the hardware that is outputting or playing back the video. Instead, the video is a recording of footage that was previously rendered on different equipment (typ ...
) in which images, or film or video
frames, are generated for later viewing. Offline rendering can use a slower and higher-quality renderer. Interactive applications such as games must primarily use real-time rendering, although they may incorporate pre-rendered content.
Rendering can produce images of scenes or objects defined using coordinates in
3D space
In geometry, a three-dimensional space (3D space, 3-space or, rarely, tri-dimensional space) is a mathematical space in which three values (''coordinates'') are required to determine the position (geometry), position of a point (geometry), poi ...
, seen from a particular
viewpoint. Such
3D rendering
3D rendering is the 3D computer graphics process of converting 3D models into 2D images on a computer. 3D renders may include photorealistic effects or non-photorealistic styles.
Rendering methods
Rendering is the final process of creati ...
uses knowledge and ideas from
optics
Optics is the branch of physics that studies the behaviour and properties of light, including its interactions with matter and the construction of optical instruments, instruments that use or Photodetector, detect it. Optics usually describes t ...
, the study of
visual perception
Visual perception is the ability to detect light and use it to form an image of the surrounding Biophysical environment, environment. Photodetection without image formation is classified as ''light sensing''. In most vertebrates, visual percept ...
,
mathematics
Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
, and
software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
, and it has applications such as
video game
A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
s,
simulators,
visual effects
Visual effects (sometimes abbreviated as VFX) is the process by which imagery is created or manipulated outside the context of
a live-action shot in filmmaking and video production.
The integration of live-action footage and other live-action fo ...
for films and television,
design visualization, and
medical diagnosis
Medical diagnosis (abbreviated Dx, Dx, or Ds) is the process of determining which disease or condition explains a person's symptoms and signs. It is most often referred to as a diagnosis with the medical context being implicit. The information ...
. Realistic 3D rendering requires modeling the propagation of light in an environment, e.g. by applying the
rendering equation
In computer graphics, the rendering equation is an integral equation that expresses the amount of light leaving a point on a surface as the sum of emitted light and reflected light. It was independently introduced into computer graphics by David ...
.
Real-time rendering uses high-performance ''
rasterization
In computer graphics, rasterisation (British English) or rasterization (American English) is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image (a series of pixels, dots or lines, whic ...
'' algorithms that process a list of shapes and determine which
pixel
In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a Raster graphics, raster image, or the smallest addressable element in a dot matrix display device. In most digital display devices, p ...
s are covered by each shape. When more realism is required (e.g. for
architectural visualization
Architectural rendering, architectural illustration, or architectural visualization (often abbreviated to archviz or ArchViz) is the art of creating three-dimensional images or animations showing the attributes of a proposed architectural design.
...
or
visual effects
Visual effects (sometimes abbreviated as VFX) is the process by which imagery is created or manipulated outside the context of
a live-action shot in filmmaking and video production.
The integration of live-action footage and other live-action fo ...
) slower pixel-by-pixel algorithms such as ''
ray tracing'' are used instead. (Ray tracing can also be used selectively during rasterized rendering to improve the realism of lighting and reflections.) A type of ray tracing called ''
path tracing
Path tracing is a rendering algorithm in computer graphics that Simulation, simulates how light interacts with Physical object, objects, voxels, and Volumetric_path_tracing, participating media to generate realistic (''physically plausible'') R ...
'' is currently the most common technique for photorealistic rendering. Path tracing is also popular for generating high-quality non-photorealistic images, such as frames for 3D animated films. Both rasterization and ray tracing can be sped up ("accelerated") by specially designed microprocessors called
GPUs.
Rasterization algorithms are also used to render images containing only 2D shapes such as
polygon
In geometry, a polygon () is a plane figure made up of line segments connected to form a closed polygonal chain.
The segments of a closed polygonal chain are called its '' edges'' or ''sides''. The points where two edges meet are the polygon ...
s and
text
Text may refer to:
Written word
* Text (literary theory)
In literary theory, a text is any object that can be "read", whether this object is a work of literature, a street sign, an arrangement of buildings on a city block, or styles of clothi ...
. Applications of this type of rendering include
digital illustration,
graphic design
Graphic design is a profession, academic discipline and applied art that involves creating visual communications intended to transmit specific messages to social groups, with specific objectives. Graphic design is an interdisciplinary branch of ...
, 2D
animation
Animation is a filmmaking technique whereby still images are manipulated to create moving images. In traditional animation, images are drawn or painted by hand on transparent celluloid sheets to be photographed and exhibited on film. Animati ...
,
desktop publishing
Desktop publishing (DTP) is the creation of documents using dedicated software on a personal ("desktop") computer. It was first used almost exclusively for print publications, but now it also assists in the creation of various forms of online co ...
and the display of
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
s.
Historically, rendering was called image synthesis but today this term is likely to mean
AI image generation. The term "neural rendering" is sometimes used when a
neural network
A neural network is a group of interconnected units called neurons that send signals to one another. Neurons can be either biological cells or signal pathways. While individual neurons are simple, many of them together in a network can perfor ...
is the primary means of generating an image but some degree of control over the output image is provided. Neural networks can also assist rendering without replacing traditional algorithms, e.g. by removing noise from path traced images.
Features
Photorealistic rendering
A large proportion of
computer graphics
Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
research has worked towards producing images that resemble photographs. Fundamental techniques that make this possible were invented in the 1980s, but at the end of the decade, photorealism for complex scenes was still considered a distant goal. Today, photorealism is routinely achievable for offline rendering, but remains difficult for
real-time rendering.
In order to produce realistic images, rendering must simulate how light travels from light sources, is reflected, refracted, and scattered (often many times) by objects in the scene, passes through a camera lens, and finally reaches the film or sensor of the camera. The physics used in these simulations is primarily
geometrical optics
Geometrical optics, or ray optics, is a model of optics that describes light Wave propagation, propagation in terms of ''ray (optics), rays''. The ray in geometrical optics is an abstract object, abstraction useful for approximating the paths along ...
, in which
particles of light follow (usually straight) lines called ''
rays'', but in some situations (such as when rendering
thin films
A thin film is a layer of materials ranging from fractions of a nanometer ( monolayer) to several micrometers in thickness. The controlled synthesis of materials as thin films (a process referred to as deposition) is a fundamental step in many ...
, like the surface of
soap bubble
A soap bubble (commonly referred to as simply a bubble) is an extremely thin soap film, film of soap or detergent and water enclosing air that forms a hollow sphere with an iridescent surface. Soap bubbles usually last for only a few seconds b ...
s) the
wave nature of light must be taken into account.
Effects that may need to be simulated include:
*
Shadow
A shadow is a dark area on a surface where light from a light source is blocked by an object. In contrast, shade occupies the three-dimensional volume behind an object with light in front of it. The cross-section of a shadow is a two-dimensio ...
s, including both shadows with sharp edges and ''
soft shadows
The umbra, penumbra and antumbra are three distinct parts of a shadow, created by any light source after impinging on an opaque object of lesser size. In cases of equal or smaller impinging objects, only an umbra and penumba are generated. As ...
'' with umbra and penumbra
*
Reflections in mirrors and smooth surfaces, as well as rough or rippled reflective surfaces
*
Refraction
In physics, refraction is the redirection of a wave as it passes from one transmission medium, medium to another. The redirection can be caused by the wave's change in speed or by a change in the medium. Refraction of light is the most commo ...
the bending of light when it crosses a boundary between two transparent materials such as air and glass. The amount of bending varies with the wavelength of the light, which may cause colored fringes or "rainbows" to appear.
* Volumetric effects Absorption and scattering when light travels through partially transparent or translucent substances (called ''participating media'' because they modify the light rather than simply allow rays to pass through)
*
Caustics bright patches, sometimes with distinct filaments and a folded or twisted appearance, resulting when light is reflected or refracted before illuminating an object.
In realistic scenes, objects are illuminated both by light that arrives directly from a light source (after passing mostly unimpeded through air), and light that has bounced off other objects in the scene. The simulation of this complex lighting is called
global illumination
Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting
Lighting or illumination is the deliberate use of light to achieve practical or aest ...
. In the past, indirect lighting was often faked (especially when rendering
animated films) by placing additional hidden lights in the scene, but today
path tracing
Path tracing is a rendering algorithm in computer graphics that Simulation, simulates how light interacts with Physical object, objects, voxels, and Volumetric_path_tracing, participating media to generate realistic (''physically plausible'') R ...
is used to render it accurately.
For true photorealism, the camera used to take the photograph must be simulated. The ''
thin lens approximation'' allows combining
perspective projection
Linear or point-projection perspective () is one of two types of graphical projection perspective in the graphic arts; the other is parallel projection. Linear perspective is an approximate representation, generally on a flat surface, of ...
with
depth of field
The depth of field (DOF) is the distance between the nearest and the farthest objects that are in acceptably sharp focus (optics), focus in an image captured with a camera. See also the closely related depth of focus.
Factors affecting depth ...
(and
bokeh
In photography, bokeh ( or ; ) is the aesthetic quality of the blur produced in out-of-focus parts of an image, whether foreground or background or both. It is created by using a wide aperture lens.
Some photographers incorrectly restr ...
) emulation.
Camera lens
A camera lens, photographic lens or photographic objective is an optical lens (optics), lens or assembly of lenses (compound lens) used in conjunction with a camera body and mechanism to Imaging, make images of objects either on photographic film ...
simulations can be made more realistic by modeling the way light is refracted by the components of the lens.
Motion blur
Motion blur is the apparent streaking of moving objects in a photograph or a sequence of frames, such as a film or animation. It results when the image being recorded changes during the recording of a single exposure, due to rapid movement or l ...
is often simulated if film or video frames are being rendered. Simulated
lens flare
A lens flare happens when light is scattered, or ''flared'', in a lens system, often in response to a bright light, producing a sometimes undesirable artifact in the image. This happens through light scattered by the imaging mechanism itself, ...
and
bloom are sometimes added to make the image appear subjectively brighter (although the design of real cameras tries to reduce these effects).
Realistic rendering uses mathematical descriptions of how different surface materials reflect light, called ''
reflectance
The reflectance of the surface of a material is its effectiveness in reflecting radiant energy. It is the fraction of incident electromagnetic power that is reflected at the boundary. Reflectance is a component of the response of the electronic ...
models'' or (when physically plausible) ''
bidirectional reflectance distribution functions (BRDFs)''. Rendering materials such as
marble
Marble is a metamorphic rock consisting of carbonate minerals (most commonly calcite (CaCO3) or Dolomite (mineral), dolomite (CaMg(CO3)2) that have recrystallized under the influence of heat and pressure. It has a crystalline texture, and is ty ...
, plant leaves, and human skin requires simulating an effect called
subsurface scattering
Subsurface scattering (SSS), also known as subsurface light transport (SSLT), is a mechanism of light transport in which light that penetrates the surface of a translucent object is scattering, scattered by interacting with the Material (comput ...
, in which a portion of the light travels into the material, is scattered, and then travels back out again. The way color, and properties such as
roughness, vary over a surface can be represented efficiently using
texture mapping
Texture mapping is a term used in computer graphics to describe how 2D images are projected onto 3D models. The most common variant is the UV unwrap, which can be described as an inverse paper cutout, where the surfaces of a 3D model are cut ap ...
.
Other styles of 3D rendering
For some applications (including early stages of
3D modeling
In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based Computer representation of surfaces, representation of a surface of an object (inanimate or living) in Three-dimensional space, three dimensions vi ...
), simplified rendering styles such as
wireframe rendering may be appropriate, particularly when the material and surface details have not been defined and only the shape of an object is known. Games and other real-time applications may use simpler and less realistic rendering techniques as an artistic or design choice, or to allow higher
frame rate
Frame rate, most commonly expressed in frame/s, or FPS, is typically the frequency (rate) at which consecutive images (Film frame, frames) are captured or displayed. This definition applies to film and video cameras, computer animation, and moti ...
s on lower-end hardware.
Orthographic and
isometric projections can be used for a stylized effect or to ensure that parallel lines are depicted as parallel in
CAD rendering.
Non-photorealistic rendering (NPR) uses techniques like
edge detection
Edge or EDGE may refer to:
Technology Computing
* Edge computing, a network load-balancing system
* Edge device, an entry point to a computer network
* Adobe Edge, a graphical development application
* Microsoft Edge, a web browser developed b ...
and
posterization
Posterization or posterisation of an image is the conversion of a continuous gradation of tone to several regions of fewer tones, causing abrupt changes from one tone to another. This was originally done with photographic processes to create ...
to produce 3D images that resemble technical illustrations, cartoons, or other styles of drawing or painting.
Inputs
Before a 3D scene or 2D image can be rendered, it must be described in a way that the rendering software can understand. Historically, inputs for both 2D and 3D rendering were usually
text file
A text file (sometimes spelled textfile; an old alternative name is flat file) is a kind of computer file that is structured as a sequence of lines of electronic text. A text file exists stored as data within a computer file system.
In ope ...
s, which are easier than binary files for humans to edit and debug. For 3D graphics, text formats have largely been supplanted by more efficient
binary formats, and by
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
s which allow interactive applications to communicate directly with a rendering component without generating a file on disk (although a scene description is usually still created in memory prior to rendering).
Traditional rendering algorithms use geometric descriptions of 3D scenes or 2D images. Applications and algorithms that render
visualizations of data scanned from the real world, or scientific
simulations
A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in ...
, may require different types of input data.
The
PostScript
PostScript (PS) is a page description language and dynamically typed, stack-based programming language. It is most commonly used in the electronic publishing and desktop publishing realm, but as a Turing complete programming language, it c ...
format (which is often credited with the rise of
desktop publishing
Desktop publishing (DTP) is the creation of documents using dedicated software on a personal ("desktop") computer. It was first used almost exclusively for print publications, but now it also assists in the creation of various forms of online co ...
) provides a standardized, interoperable way to describe 2D graphics and
page layout
In graphic design, page layout is the arrangement of visual elements on a page. It generally involves organizational principles of composition to achieve specific communication objectives.
The high-level page layout involves deciding on the ...
. The
Scalable Vector Graphics (SVG) format is also text-based, and the
PDF
Portable document format (PDF), standardized as ISO 32000, is a file format developed by Adobe Inc., Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, computer hardware, ...
format uses the PostScript language internally. In contrast, although many 3D graphics file formats have been standardized (including text-based formats such as
VRML and
X3D), different rendering applications typically use formats tailored to their needs, and this has led to a proliferation of proprietary and open formats, with binary files being more common.
2D vector graphics
A
vector graphics
Vector graphics are a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector displ ...
image description may include:
*
Coordinates
In geometry, a coordinate system is a system that uses one or more numbers, or coordinates, to uniquely determine and standardize the Position (geometry), position of the Point (geometry), points or other geometric elements on a manifold such as ...
and
curvature
In mathematics, curvature is any of several strongly related concepts in geometry that intuitively measure the amount by which a curve deviates from being a straight line or by which a surface deviates from being a plane. If a curve or su ...
information for
line segments
In geometry, a line segment is a part of a straight line that is bounded by two distinct endpoints (its extreme points), and contains every point on the line that is between its endpoints. It is a special case of an '' arc'', with zero curvatu ...
,
arcs, and
Bézier curve
A Bézier curve ( , ) is a parametric equation, parametric curve used in computer graphics and related fields. A set of discrete "control points" defines a smooth, continuous curve by means of a formula. Usually the curve is intended to approxima ...
s (which may be used as boundaries of filled shapes)
* Center coordinates, width, and height (or
bounding rectangle coordinates) of
basic
Basic or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
shapes such as
rectangle
In Euclidean geometry, Euclidean plane geometry, a rectangle is a Rectilinear polygon, rectilinear convex polygon or a quadrilateral with four right angles. It can also be defined as: an equiangular quadrilateral, since equiangular means that a ...
s,
circle
A circle is a shape consisting of all point (geometry), points in a plane (mathematics), plane that are at a given distance from a given point, the Centre (geometry), centre. The distance between any point of the circle and the centre is cal ...
s and
ellipse
In mathematics, an ellipse is a plane curve surrounding two focus (geometry), focal points, such that for all points on the curve, the sum of the two distances to the focal points is a constant. It generalizes a circle, which is the special ty ...
s
* Color, width and pattern (such as dashed or dotted) for rendering lines
* Colors, patterns, and
gradients for filling shapes
*
Bitmap
In computing, a bitmap (also called raster) graphic is an image formed from rows of different colored pixels. A GIF is an example of a graphics image file that uses a bitmap.
As a noun, the term "bitmap" is very often used to refer to a partic ...
image data (either embedded or in an external file) along with scale and position information
*
Text to be rendered (along with size, position, orientation, color, and font)
*
Clipping information, if only part of a shape or bitmap image should be rendered
* Transparency and
compositing
Compositing is the process or technique of combining visual elements from separate sources into single images, often to create the illusion that all those elements are parts of the same scene. Live action, Live-action shooting for compositing ...
information for rendering overlapping shapes
*
Color space
A color space is a specific organization of colors. In combination with color profiling supported by various physical devices, it supports reproducible representations of colorwhether such representation entails an analog or a digital represe ...
information, allowing the image to be rendered consistently on different displays and printers
3D geometry
A geometric scene description may include:
* Size, position, and orientation of
geometric primitive
In vector computer graphics, CAD systems, and geographic information systems, a geometric primitive (or prim) is the simplest (i.e. 'atomic' or irreducible) geometric shape that the system can handle (draw, store). Sometimes the subroutines ...
s such as spheres and cones (which may be
combined in various ways to create more complex objects)
*
Vertex coordinates
In geometry, a coordinate system is a system that uses one or more numbers, or coordinates, to uniquely determine and standardize the Position (geometry), position of the Point (geometry), points or other geometric elements on a manifold such as ...
and
surface normal
In geometry, a normal is an object (e.g. a line, ray, or vector) that is perpendicular to a given object. For example, the normal line to a plane curve at a given point is the infinite straight line perpendicular to the tangent line to the ...
vectors for
meshes of triangles or polygons (often rendered as smooth surfaces by
subdividing the mesh)
*
Transformations for positioning, rotating, and scaling objects within a scene (allowing parts of the scene to use different local coordinate systems).
* "Camera" information describing how the scene is being viewed (position, direction,
focal length
The focal length of an Optics, optical system is a measure of how strongly the system converges or diverges light; it is the Multiplicative inverse, inverse of the system's optical power. A positive focal length indicates that a system Converge ...
, and
field of view
The field of view (FOV) is the angle, angular extent of the observable world that is visual perception, seen at any given moment. In the case of optical instruments or sensors, it is a solid angle through which a detector is sensitive to elec ...
)
* Light information (location, type, brightness, and color)
* Optical properties of surfaces, such as
albedo
Albedo ( ; ) is the fraction of sunlight that is Diffuse reflection, diffusely reflected by a body. It is measured on a scale from 0 (corresponding to a black body that absorbs all incident radiation) to 1 (corresponding to a body that reflects ...
,
roughness, and
refractive index
In optics, the refractive index (or refraction index) of an optical medium is the ratio of the apparent speed of light in the air or vacuum to the speed in the medium. The refractive index determines how much the path of light is bent, or refrac ...
,
* Optical properties of media through which light passes (transparent solids, liquids, clouds, smoke), e.g.
absorption and
scattering
In physics, scattering is a wide range of physical processes where moving particles or radiation of some form, such as light or sound, are forced to deviate from a straight trajectory by localized non-uniformities (including particles and radiat ...
cross sections
*
Bitmap
In computing, a bitmap (also called raster) graphic is an image formed from rows of different colored pixels. A GIF is an example of a graphics image file that uses a bitmap.
As a noun, the term "bitmap" is very often used to refer to a partic ...
image data used as
texture maps for surfaces
* Small scripts or programs for generating complex 3D shapes or scenes
procedurally
* Description of how object and camera locations and other information change over time, for rendering an animation
Many file formats exist for storing individual 3D objects or "
models
A model is an informative representation of an object, person, or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin , .
Models can be divided int ...
". These can be imported into a larger scene, or loaded on-demand by rendering software or games. A realistic scene may require hundreds of items like household objects, vehicles, and trees, and
3D artists often utilize large libraries of models. In game production, these models (along with other data such as textures, audio files, and animations) are referred to as "
assets
In financial accounting, an asset is any resource owned or controlled by a business or an economic entity. It is anything (tangible or intangible) that can be used to produce positive economic value. Assets represent value of ownership that can b ...
".
Volumetric data
Scientific and engineering
visualization often requires rendering
volumetric data generated by 3D scans or
simulations
A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in ...
. Perhaps the most common source of such data is medical
CT and
MRI
Magnetic resonance imaging (MRI) is a medical imaging technique used in radiology to generate pictures of the anatomy and the physiological processes inside the body. MRI scanners use strong magnetic fields, magnetic field gradients, and rad ...
scans, which need to be rendered for diagnosis. Volumetric data can be extremely large, and requires
specialized data formats to store it efficiently, particularly if the volume is ''
sparse'' (with empty regions that do not contain data).
Before rendering,
level set
In mathematics, a level set of a real-valued function of real variables is a set where the function takes on a given constant value , that is:
: L_c(f) = \left\~.
When the number of independent variables is two, a level set is call ...
s for volumetric data can be extracted and converted into a mesh of triangles, e.g. by using the
marching cubes
Marching cubes is a computer graphics algorithm, published in the 1987 SIGGRAPH proceedings by Lorensen and Cline, for extracting a polygonal mesh of an isosurface from a three-dimensional discrete scalar field (the elements of which are somet ...
algorithm. Algorithms have also been developed that work directly with volumetric data, for example to render realistic depictions of the way light is scattered and absorbed by clouds and smoke, and this type of volumetric rendering is used extensively in visual effects for movies. When rendering lower-resolution volumetric data without interpolation, the individual cubes or "
voxel
In computing, a voxel is a representation of a value on a three-dimensional regular grid, akin to the two-dimensional pixel. Voxels are frequently used in the Data visualization, visualization and analysis of medical imaging, medical and scient ...
s" may be visible, an effect sometimes used deliberately for game graphics.
Photogrammetry and scanning
Photographs of real world objects can be incorporated into a rendered scene by using them as
textures for 3D objects. Photos of a scene can also be stitched together to create
panoramic images or
environment maps, which allow the scene to be rendered very efficiently but only from a single viewpoint. Scanning of real objects and scenes using
structured light or
lidar
Lidar (, also LIDAR, an acronym of "light detection and ranging" or "laser imaging, detection, and ranging") is a method for determining ranging, ranges by targeting an object or a surface with a laser and measuring the time for the reflected li ...
produces
point cloud
A point cloud is a discrete set of data Point (geometry), points in space. The points may represent a 3D shape or object. Each point Position (geometry), position has its set of Cartesian coordinates (X, Y, Z). Points may contain data other than ...
s consisting of the coordinates of millions of individual points in space, sometimes along with color information. These point clouds may either be rendered directly or
converted into meshes before rendering. (Note: "point cloud" sometimes also refers to a minimalist rendering style that can be used for any 3D geometry, similar to wireframe rendering.)
Neural approximations and light fields
A more recent, experimental approach is description of scenes using
radiance fields which define the color, intensity, and direction of incoming light at each point in space. (This is conceptually similar to, but not identical to, the
light field
A light field, or lightfield, is a vector-valued function, vector function that describes the amount of light flowing in every direction through every point in a space. The space of all possible ''light rays'' is given by the Five-dimensional space ...
recorded by a
hologram
Holography is a technique that allows a wavefront to be recorded and later reconstructed. It is best known as a method of generating three-dimensional images, and has a wide range of other uses, including data storage, microscopy, and interf ...
.) For any useful resolution, the amount of data in a radiance field is so large that it is impractical to represent it directly as volumetric data, and an
approximation
An approximation is anything that is intentionally similar but not exactly equal to something else.
Etymology and usage
The word ''approximation'' is derived from Latin ''approximatus'', from ''proximus'' meaning ''very near'' and the prefix ...
function must be found.
Neural networks
A neural network is a group of interconnected units called neurons that send signals to one another. Neurons can be either Cell (biology), biological cells or signal pathways. While individual neurons are simple, many of them together in a netwo ...
are typically used to generate and evaluate these approximations, sometimes using video frames, or a collection of photographs of a scene taken at different angles, as "
training data
In machine learning, a common task is the study and construction of algorithms that can learn from and make predictions on data. Such algorithms function by making data-driven predictions or decisions, through building a mathematical model from ...
".
Algorithms related to neural networks have recently been used to find approximations of a scene as
3D Gaussians. The resulting representation is similar to a
point cloud
A point cloud is a discrete set of data Point (geometry), points in space. The points may represent a 3D shape or object. Each point Position (geometry), position has its set of Cartesian coordinates (X, Y, Z). Points may contain data other than ...
, except that it uses fuzzy, partially-transparent blobs of varying dimensions and orientations instead of points. As with
neural radiance field
A neural radiance field (NeRF) is a method based on deep learning for reconstructing a three-dimensional representation of a scene from two-dimensional images. The NeRF model enables downstream applications of novel view synthesis, scene geometry ...
s, these approximations are often generated from photographs or video frames.
Outputs
The output of rendering may be displayed immediately on the screen (many times a second, in the case of real-time rendering such as games) or saved in a
raster graphics
upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging further, each pixel can be analyzed, with their colors constructed through combination of the values for ...
file format such as
JPEG
JPEG ( , short for Joint Photographic Experts Group and sometimes retroactively referred to as JPEG 1) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degr ...
or
PNG. High-end rendering applications commonly use the
OpenEXR
OpenEXR is a high-dynamic range, multi-channel raster file format, released as an open standard along with a set of software tools created by Industrial Light & Magic (ILM), under a free software license similar to the BSD license.
It is notab ...
file format, which can represent finer gradations of colors and
high dynamic range
High dynamic range (HDR), also known as wide dynamic range, extended dynamic range, or expanded dynamic range, is a signal with a higher dynamic range than usual.
The term is often used in discussing the dynamic ranges of images, videos, audio o ...
lighting, allowing
tone mapping
Tone mapping is a technique used in image processing and computer graphics to map one set of colors to another to approximate the appearance of high-dynamic-range (HDR) images in a medium that has a more limited dynamic range. Print-outs, C ...
or other adjustments to be applied afterwards without loss of quality.
Quickly rendered animations can be saved directly as video files, but for high-quality rendering, individual frames (which may be rendered by different computers in a
cluster
may refer to:
Science and technology Astronomy
* Cluster (spacecraft), constellation of four European Space Agency spacecraft
* Cluster II (spacecraft), a European Space Agency mission to study the magnetosphere
* Asteroid cluster, a small ...
or ''
render farm
A render farm is a high-performance computer system, e.g. a computer cluster, built to render computer-generated imagery (CGI), typically for film and television visual effects.
A render farm is different from a render wall, which is a network ...
'' and may take hours or even days to render) are output as separate files and combined later into a video clip.
The output of a renderer sometimes includes more than just
RGB color values. For example, the spectrum can be sampled using multiple wavelengths of light, or additional information such as depth (distance from camera) or the material of each point in the image can be included (this data can be used during compositing or when generating
texture maps for real-time rendering, or used to assist in
removing noise from a path-traced image). Transparency information can be included, allowing rendered foreground objects to be composited with photographs or video. It is also sometimes useful to store the contributions of different lights, or of specular and diffuse lighting, as separate channels, so lighting can be adjusted after rendering. The
OpenEXR
OpenEXR is a high-dynamic range, multi-channel raster file format, released as an open standard along with a set of software tools created by Industrial Light & Magic (ILM), under a free software license similar to the BSD license.
It is notab ...
format allows storing many channels of data in a single file. Renderers such as
Blender
A blender (sometimes called a mixer (from Latin ''mixus, the PPP of miscere eng. to Mix)'' or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary ...
and
Pixar RenderMan
Pixar RenderMan (also known as RenderMan) is a photorealistic 3D rendering software produced by Pixar Animation Studios. Pixar uses RenderMan to render their in-house 3D animated movie productions and it is also available as a commercial product ...
support a large variety of configurable values called Arbitrary Output Variables (AOVs).
Techniques
Choosing how to render a 3D scene usually involves trade-offs between speed, memory usage, and realism (although realism is not always desired). The developed over the years follow a loose progression, with more advanced methods becoming practical as computing power and memory capacity increased. Multiple techniques may be used for a single final image.
An important distinction is between
image order algorithms, which iterate over pixels in the image, and
object order algorithms, which iterate over objects in the scene. For simple scenes, object order is usually more efficient, as there are fewer objects than pixels.
;
2D vector graphics
: The
vector displays of the 1960s-1970s used deflection of an
electron beam
Since the mid-20th century, electron-beam technology has provided the basis for a variety of novel and specialized applications in semiconductor manufacturing, microelectromechanical systems, nanoelectromechanical systems, and microscopy.
Mechani ...
to draw
line segment
In geometry, a line segment is a part of a line (mathematics), straight line that is bounded by two distinct endpoints (its extreme points), and contains every Point (geometry), point on the line that is between its endpoints. It is a special c ...
s directly on the screen. Nowadays,
vector graphics
Vector graphics are a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector displ ...
are rendered by
rasterization
In computer graphics, rasterisation (British English) or rasterization (American English) is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image (a series of pixels, dots or lines, whic ...
algorithms that also support filled shapes. In principle, any 2D vector graphics renderer can be used to render 3D objects by first projecting them onto a 2D image plane.
;
3D rasterization
: Adapts 2D rasterization algorithms so they can be used more efficiently for 3D rendering, handling
hidden surface removal via
scanline
A scan line (also scanline) is one line, or row, in a raster scanning pattern, such as a line of video on a cathode-ray tube (CRT) display of a television set or computer monitor.
On CRT screens the horizontal scan lines are visually discernib ...
or
z-buffer
A z-buffer, also known as a depth buffer, is a type of data buffer used in computer graphics to store the depth information of Fragmentation (computing), fragments. The values stored represent the distance to the camera, with 0 being the closest ...
techniques. Different realistic or stylized effects can be obtained by coloring the pixels covered by the objects in different ways.
Surfaces
A surface, as the term is most generally used, is the outermost or uppermost layer of a physical object or space.
Surface or surfaces may also refer to:
Mathematics
*Surface (mathematics), a generalization of a plane which needs not be flat
* Sur ...
are typically divided into
meshes of triangles before being rasterized. Rasterization is usually synonymous with "object order" rendering (as described above).
;
Ray casting
Ray casting is the methodological basis for 3D CAD/CAM solid modeling and image rendering. It is essentially the same as ray tracing (graphics), ray tracing for computer graphics where virtual light rays are "cast" or "traced" on their path from th ...
: Uses geometric formulas to compute the first object that a
ray intersects. It can be used to implement "image order" rendering by casting a ray for each pixel, and finding a corresponding point in the scene. Ray casting is a fundamental operation used for both graphical and non-graphical purposes, e.g. determining whether a point is in shadow, or checking what an enemy can see in a
game
A game is a structured type of play usually undertaken for entertainment or fun, and sometimes used as an educational tool. Many games are also considered to be work (such as professional players of spectator sports or video games) or art ...
.
;
Ray tracing
: Simulates the bouncing paths of light caused by
specular reflection
Specular reflection, or regular reflection, is the mirror-like reflection (physics), reflection of waves, such as light, from a surface.
The law of reflection states that a reflected ray (optics), ray of light emerges from the reflecting surf ...
and
refraction
In physics, refraction is the redirection of a wave as it passes from one transmission medium, medium to another. The redirection can be caused by the wave's change in speed or by a change in the medium. Refraction of light is the most commo ...
, requiring a varying number of ray casting operations for each path. Advanced forms use
Monte Carlo techniques to render effects such as area lights,
depth of field
The depth of field (DOF) is the distance between the nearest and the farthest objects that are in acceptably sharp focus (optics), focus in an image captured with a camera. See also the closely related depth of focus.
Factors affecting depth ...
, blurry reflections, and
soft shadows
The umbra, penumbra and antumbra are three distinct parts of a shadow, created by any light source after impinging on an opaque object of lesser size. In cases of equal or smaller impinging objects, only an umbra and penumba are generated. As ...
, but computing
global illumination
Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting
Lighting or illumination is the deliberate use of light to achieve practical or aest ...
is usually in the domain of path tracing.
;
Radiosity
: A
finite element analysis
Finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical models, mathematical modeling. Typical problem areas of interest include the traditional fields of structural ...
approach that breaks surfaces in the scene into pieces, and estimates the amount of light that each piece receives from light sources, or indirectly from other surfaces. Once the
irradiance
In radiometry, irradiance is the radiant flux ''received'' by a ''surface'' per unit area. The SI unit of irradiance is the watt per square metre (symbol W⋅m−2 or W/m2). The CGS unit erg per square centimetre per second (erg⋅cm−2⋅s−1) ...
of each surface is known, the scene can be rendered using rasterization or ray tracing.
;
Path tracing
Path tracing is a rendering algorithm in computer graphics that Simulation, simulates how light interacts with Physical object, objects, voxels, and Volumetric_path_tracing, participating media to generate realistic (''physically plausible'') R ...
: Uses
Monte Carlo integration
In mathematics, Monte Carlo integration is a technique for numerical integration using random numbers. It is a particular Monte Carlo method that numerically computes a definite integral. While other algorithms usually evaluate the integrand at ...
with a simplified form of ray tracing, computing the average brightness of a
sample of the possible paths that a photon could take when traveling from a light source to the camera (for some images, thousands of paths need to be sampled per pixel). It was introduced as a
statistically unbiased way to solve the
rendering equation
In computer graphics, the rendering equation is an integral equation that expresses the amount of light leaving a point on a surface as the sum of emitted light and reflected light. It was independently introduced into computer graphics by David ...
, giving ray tracing a rigorous mathematical foundation.
Each of the above approaches has many variations, and there is some overlap. Path tracing may be considered either a distinct technique or a particular type of ray tracing. Note that the
usage
The usage of a language is the ways in which its written and spoken variations are routinely employed by its speakers; that is, it refers to "the collective habits of a language's native speakers", as opposed to idealized models of how a languag ...
of terminology related to ray tracing and path tracing has changed significantly over time.
Ray marching is a family of algorithms, used by ray casting, for finding intersections between a ray and a complex object, such as a
volumetric dataset or a surface defined by a
signed distance function. It is not, by itself, a rendering method, but it can be incorporated into ray tracing and path tracing, and is used by rasterization to implement screen-space reflection and other effects.
A technique called
photon mapping
In computer graphics, photon mapping is a two-pass global illumination rendering algorithm developed by Henrik Wann Jensen between 1995 and 2001Jensen, H. (1996). ''Global Illumination using Photon Maps''. nlineAvailable at: http://graphics.sta ...
traces paths of photons from a light source to an object, accumulating data about
irradiance
In radiometry, irradiance is the radiant flux ''received'' by a ''surface'' per unit area. The SI unit of irradiance is the watt per square metre (symbol W⋅m−2 or W/m2). The CGS unit erg per square centimetre per second (erg⋅cm−2⋅s−1) ...
which is then used during conventional ray tracing or path tracing. Rendering a scene using only rays traced from the light source to the camera is impractical, even though it corresponds more closely to reality, because a huge number of photons would need to be simulated, only a tiny fraction of which actually hit the camera.
Some authors call conventional ray tracing "backward" ray tracing because it traces the paths of photons backwards from the camera to the light source, and call following paths from the light source (as in photon mapping) "forward" ray tracing. However, sometimes the meaning of these terms is reversed. Tracing rays starting at the light source can also be called ''particle tracing'' or ''light tracing'', which avoids this ambiguity.
Real-time rendering, including video game graphics, typically uses rasterization, but increasingly combines it with ray tracing and path tracing. To enable realistic
global illumination
Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting
Lighting or illumination is the deliberate use of light to achieve practical or aest ...
, real-time rendering often relies on pre-rendered ("baked") lighting for stationary objects. For moving objects, it may use a technique called ''light probes'', in which lighting is recorded by rendering omnidirectional views of the scene at chosen points in space (often points on a grid to allow easier
interpolation
In the mathematics, mathematical field of numerical analysis, interpolation is a type of estimation, a method of constructing (finding) new data points based on the range of a discrete set of known data points.
In engineering and science, one ...
). These are similar to
environment maps, but typically use a very low resolution or an approximation such as
spherical harmonics
In mathematics and physical science, spherical harmonics are special functions defined on the surface of a sphere. They are often employed in solving partial differential equations in many scientific fields. The table of spherical harmonics co ...
. (Note:
Blender
A blender (sometimes called a mixer (from Latin ''mixus, the PPP of miscere eng. to Mix)'' or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary ...
uses the term 'light probes' for a more general class of pre-recorded lighting data, including reflection maps.)
Rasterization

The term ''rasterization'' (in a broad sense) encompasses many techniques used for 2D rendering and
real-time
Real-time, realtime, or real time may refer to:
Computing
* Real-time computing, hardware and software systems subject to a specified time constraint
* Real-time clock, a computer clock that keeps track of the current time
* Real-time Control Syst ...
3D rendering. 3D
animated films were rendered by rasterization before
ray tracing and
path tracing
Path tracing is a rendering algorithm in computer graphics that Simulation, simulates how light interacts with Physical object, objects, voxels, and Volumetric_path_tracing, participating media to generate realistic (''physically plausible'') R ...
became practical.
A renderer combines rasterization with ''geometry processing'' (which is not specific to rasterization) and ''pixel processing'' which computes the
RGB color values to be placed in the ''
framebuffer
A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Mode ...
'' for display.
The main tasks of rasterization (including pixel processing) are:
* Determining which pixels are covered by each geometric shape in the 3D scene or 2D image (this is the actual rasterization step, in the strictest sense)
* Blending between colors and depths defined at the
vertices of shapes, e.g. using
barycentric coordinates (''interpolation'')
* Determining if parts of shapes are hidden by other shapes, due to 2D layering or 3D depth (''
hidden surface removal'')
* Evaluating a function for each pixel covered by a shape (''
shading
Shading refers to the depiction of depth perception in 3D models (within the field of 3D computer graphics) or illustrations (in visual art) by varying the level of darkness. Shading tries to approximate local behavior of light on the object's ...
'')
* Smoothing edges of shapes so pixels are less visible (''
anti-aliasing Anti-aliasing may refer to any of a number of techniques to combat the problems of aliasing in a sampled signal such as a digital image or digital audio recording.
Specific topics in anti-aliasing include:
* Anti-aliasing filter, a filter used b ...
'')
* Blending overlapping transparent shapes (''
compositing
Compositing is the process or technique of combining visual elements from separate sources into single images, often to create the illusion that all those elements are parts of the same scene. Live action, Live-action shooting for compositing ...
'')
3D rasterization is typically part of a ''
graphics pipeline
The computer graphics pipeline, also known as the rendering pipeline, or graphics pipeline, is a framework within computer graphics that outlines the necessary procedures for transforming a three-dimensional (3D) scene into a two-dimensional (2 ...
'' in which an application provides
lists of triangles to be rendered, and the rendering system transforms and
projects
A project is a type of assignment, typically involving research or design, that is carefully planned to achieve a specific objective.
An alternative view sees a project managerially as a sequence of events: a "set of interrelated tasks to be ...
their coordinates, determines which triangles are potentially visible in the ''
viewport
A viewport is a polygon viewing region in computer graphics.
In computer graphics theory, there are two region-like notions of relevance when rendering some objects to an image. In textbook terminology, the ''world coordinate window'' is the area ...
'', and performs the above rasterization and pixel processing tasks before displaying the final result on the screen.
Historically, 3D rasterization used algorithms like the ''
Warnock algorithm'' and ''
scanline rendering
Scanline rendering (also scan line rendering and scan-line rendering) is an algorithm for visible surface determination, in 3D computer graphics, that works on a row-by-row basis rather than a polygon-by-polygon or pixel-by-pixel basis. All of ...
'' (also called "scan-conversion"), which can handle arbitrary polygons and can rasterize many shapes simultaneously. Although such algorithms are still important for 2D rendering, 3D rendering now usually divides shapes into triangles and rasterizes them individually using simpler methods.
High-performance algorithms exist for rasterizing
2D lines, including
anti-aliased lines, as well as
ellipses and filled triangles. An important special case of 2D rasterization is
text rendering, which requires careful anti-aliasing and rounding of coordinates to avoid distorting the
letterform
A letterform, letter-form or letter form is a term used especially in typography, palaeography, calligraphy and epigraphy to mean a letter (alphabet), letter's shape. A letterform is a type of glyph, which is a specific, concrete way of writing a ...
s and preserve spacing, density, and sharpness.
After 3D coordinates have been
projected onto the
image plane
In 3D computer graphics, the image plane is that plane in the world which is identified with the plane of the display monitor used to view the image that is being rendered. It is also referred to as screen space. If one makes the analogy of taki ...
, rasterization is primarily a 2D problem, but the 3rd dimension necessitates ''
hidden surface removal''. Early computer graphics used
geometric algorithms or ray casting to remove the hidden portions of shapes, or used the ''
painter's algorithm
The painter's algorithm (also depth-sort algorithm and priority fill) is an algorithm for Hidden-surface determination#Visible surface determination, visible surface determination in 3D computer graphics that works on a polygon, polygon-by-polyg ...
'', which sorts shapes by depth (distance from camera) and renders them from back to front. Depth sorting was later avoided by incorporating depth comparison into the
scanline rendering
Scanline rendering (also scan line rendering and scan-line rendering) is an algorithm for visible surface determination, in 3D computer graphics, that works on a row-by-row basis rather than a polygon-by-polygon or pixel-by-pixel basis. All of ...
algorithm. The ''
z-buffer
A z-buffer, also known as a depth buffer, is a type of data buffer used in computer graphics to store the depth information of Fragmentation (computing), fragments. The values stored represent the distance to the camera, with 0 being the closest ...
'' algorithm performs the comparisons indirectly by including a depth or "z" value in the
framebuffer
A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Mode ...
. A pixel is only covered by a shape if that shape's z value is lower (indicating closer to the camera) than the z value currently in the buffer. The z-buffer requires additional memory (an expensive resource at the time it was invented) but simplifies the rasterization code and permits multiple passes. Memory is now faster and more plentiful, and a z-buffer is almost always used for real-time rendering.
A drawback of the basic
z-buffer algorithm is that each pixel ends up either entirely covered by a single object or filled with the background color, causing jagged edges in the final image. Early ''
anti-aliasing Anti-aliasing may refer to any of a number of techniques to combat the problems of aliasing in a sampled signal such as a digital image or digital audio recording.
Specific topics in anti-aliasing include:
* Anti-aliasing filter, a filter used b ...
'' approaches addressed this by detecting when a pixel is partially covered by a shape, and calculating the covered area. The
A-buffer (and other
supersampling and
multi-sampling techniques) solve the problem less precisely but with higher performance. For real-time 3D graphics, it has become common to use
complicated heuristics (and even
neural-networks) to perform anti-aliasing.
In 3D rasterization, color is usually determined by a ''
pixel shader
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
'' or ''fragment shader'', a small program that is run for each pixel. The shader does not (or cannot) directly access 3D data for the entire scene (this would be very slow, and would result in an algorithm similar to ray tracing) and a variety of techniques have been developed to render effects like
shadows
A shadow is a dark area on a surface where light from a light source is blocked by an object. In contrast, shade occupies the three-dimensional volume behind an object with light in front of it. The cross-section of a shadow is a two-dimensiona ...
and
reflections using only
texture mapping
Texture mapping is a term used in computer graphics to describe how 2D images are projected onto 3D models. The most common variant is the UV unwrap, which can be described as an inverse paper cutout, where the surfaces of a 3D model are cut ap ...
and multiple passes.
Older and more basic 3D rasterization implementations did not support shaders, and used simple shading techniques such as ''
flat shading
Shading refers to the depiction of depth perception in 3D models (within the field of 3D computer graphics) or illustrations (in visual art) by varying the level of darkness. Shading tries to approximate local behavior of light on the object's ...
'' (lighting is computed once for each triangle, which is then rendered entirely in one color), ''
Gouraud shading
Gouraud shading ( ), named after Henri Gouraud (computer scientist), Henri Gouraud, is an interpolation method used in computer graphics to produce continuous shading of surfaces represented by Polygon mesh, polygon meshes. In practice, Gouraud ...
'' (lighting is computed using
normal vectors defined at vertices and then colors are interpolated across each triangle), or ''
Phong shading
In 3D computer graphics, Phong shading, Phong interpolation, or normal-vector interpolation shading is an interpolation technique for surface shading invented by computer graphics pioneer Bui Tuong Phong. Phong shading interpolates surface no ...
'' (normal vectors are interpolated across each triangle and lighting is computed for each pixel).
Until relatively recently,
Pixar
Pixar (), doing business as Pixar Animation Studios, is an American animation studio based in Emeryville, California, known for its critically and commercially successful computer-animated feature films. Pixar is a subsidiary of Walt Disney ...
used rasterization for rendering its
animated films. Unlike the renderers commonly used for real-time graphics, the
Reyes rendering system in Pixar's
RenderMan The name RenderMan can cause confusion because it has been used to refer to different things developed by Pixar Animation Studios:
* RenderMan Interface Specification (RISpec), an open API
An application programming interface (API) is a connec ...
software was optimized for rendering very small (pixel-sized) polygons, and incorporated
stochastic Stochastic (; ) is the property of being well-described by a random probability distribution. ''Stochasticity'' and ''randomness'' are technically distinct concepts: the former refers to a modeling approach, while the latter describes phenomena; i ...
sampling techniques more typically associated with
ray tracing.
Ray casting
One of the simplest ways to render a 3D scene is to test if a
ray starting at the viewpoint (the "eye" or "camera") intersects any of the geometric shapes in the scene, repeating this test using a different ray direction for each pixel. This method, called ''ray casting'', was important in early computer graphics, and is a fundamental building block for more advanced algorithms. Ray casting can be used to render shapes defined by ''
constructive solid geometry'' (CSG) operations.
Early ray casting experiments include the work of Arthur Appel in the 1960s. Appel rendered shadows by casting an additional ray from each visible surface point towards a light source. He also tried rendering the density of illumination by casting random rays from the light source towards the object and
plotting the intersection points (similar to the later technique called ''
photon mapping
In computer graphics, photon mapping is a two-pass global illumination rendering algorithm developed by Henrik Wann Jensen between 1995 and 2001Jensen, H. (1996). ''Global Illumination using Photon Maps''. nlineAvailable at: http://graphics.sta ...
'').

When rendering scenes containing many objects, testing the intersection of a ray with every object becomes very expensive. Special
data structure
In computer science, a data structure is a data organization and storage format that is usually chosen for Efficiency, efficient Data access, access to data. More precisely, a data structure is a collection of data values, the relationships amo ...
s are used to speed up this process by allowing large numbers of objects to be excluded quickly (such as objects behind the camera). These structures are analogous to
database index
A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes and storage space to maintain the index data structure. Indexes are used to quickly locate data withou ...
es for finding the relevant objects. The most common are the ''
bounding volume hierarchy
A bounding volume hierarchy (BVH) is a tree structure on a set of geometric objects. All geometric objects, which form the leaf nodes of the tree, are wrapped in bounding volumes. These nodes are then grouped as small sets and enclosed within lar ...
'' (BVH), which stores a pre-computed
bounding box or sphere for each branch of a
tree
In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, e.g., including only woody plants with secondary growth, only ...
of objects, and the ''
k-d tree
In computer science, a ''k''-d tree (short for ''k-dimensional tree'') is a space-partitioning data structure for organizing points in a ''k''-dimensional space. K-dimensional is that which concerns exactly k orthogonal axes or a space of any ...
'' which
recursively divides space into two parts. Recent
GPUs include hardware acceleration for BVH intersection tests. K-d trees are a special case of ''
binary space partitioning
In computer science, binary space partitioning (BSP) is a method for space partitioning which recursively subdivides a Euclidean space into two convex sets by using hyperplanes as partitions. This process of subdividing gives rise to a representa ...
'', which was frequently used in early computer graphics (it can also generate a rasterization order for the
painter's algorithm
The painter's algorithm (also depth-sort algorithm and priority fill) is an algorithm for Hidden-surface determination#Visible surface determination, visible surface determination in 3D computer graphics that works on a polygon, polygon-by-polyg ...
). ''
Octree
An octree is a tree data structure in which each internal node has exactly eight child node, children. Octrees are most often used to partition a three-dimensional space by recursive subdivision, recursively subdividing it into eight Octant (geo ...
s'', another historically popular technique, are still often used for volumetric data.
Geometric formulas are sufficient for finding the intersection of a ray with shapes like
sphere
A sphere (from Ancient Greek, Greek , ) is a surface (mathematics), surface analogous to the circle, a curve. In solid geometry, a sphere is the Locus (mathematics), set of points that are all at the same distance from a given point in three ...
s,
polygon
In geometry, a polygon () is a plane figure made up of line segments connected to form a closed polygonal chain.
The segments of a closed polygonal chain are called its '' edges'' or ''sides''. The points where two edges meet are the polygon ...
s, and
polyhedra
In geometry, a polyhedron (: polyhedra or polyhedrons; ) is a three-dimensional figure with flat polygonal faces, straight edges and sharp corners or vertices. The term "polyhedron" may refer either to a solid figure or to its boundary su ...
, but for most curved surfaces there is no
analytic solution, or the intersection is difficult to compute accurately using limited precision
floating point numbers.
Root-finding algorithm
In numerical analysis, a root-finding algorithm is an algorithm for finding zeros, also called "roots", of continuous functions. A zero of a function is a number such that . As, generally, the zeros of a function cannot be computed exactly nor ...
s such as
Newton's method
In numerical analysis, the Newton–Raphson method, also known simply as Newton's method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a ...
can sometimes be used. To avoid these complications, curved surfaces are often approximated as
meshes of triangles.
Volume rendering
In scientific visualization and computer graphics, volume rendering is a set of techniques used to display a 2D projection of a 3D discretely sampled data set, typically a 3D scalar field.
A typical 3D data set is a group of 2D slice image ...
(e.g. rendering clouds and smoke), and some surfaces such as
fractal
In mathematics, a fractal is a Shape, geometric shape containing detailed structure at arbitrarily small scales, usually having a fractal dimension strictly exceeding the topological dimension. Many fractals appear similar at various scale ...
s, may require
ray marching instead of basic ray casting.
Ray tracing
Ray casting can be used to render an image by tracing
light rays backwards from a simulated camera. After finding a point on a surface where a ray originated, another ray is traced towards the light source to determine if anything is casting a shadow on that point. If not, a ''
reflectance model'' (such as
Lambertian reflectance
Lambertian reflectance is the property that defines an ideal "matte" or diffusely reflecting surface. The apparent brightness of a Lambertian surface to an observer is the same regardless of the observer's angle of view. More precisely, the ref ...
for
matte
Matte may refer to:
Art
* paint with a non-glossy finish. See diffuse reflection.
* a framing element surrounding a painting or watercolor within the outer frame
Film
* Matte (filmmaking), filmmaking and video production technology
* Matte pai ...
surfaces, or the
Phong reflection model
The Phong reflection model (also called Phong illumination or Phong lighting) is an empirical model of the local illumination of points on a surface designed by the computer graphics researcher Bui Tuong Phong. In 3D computer graphics, it is ...
for glossy surfaces) is used to compute the probability that a
photon
A photon () is an elementary particle that is a quantum of the electromagnetic field, including electromagnetic radiation such as light and radio waves, and the force carrier for the electromagnetic force. Photons are massless particles that can ...
arriving from the light would be reflected towards the camera, and this is multiplied by the brightness of the light to determine the pixel brightness. If there are multiple light sources, brightness contributions of the lights are added together. For color images, calculations are repeated for multiple
wavelengths
In physics and mathematics, wavelength or spatial period of a wave or periodic function is the distance over which the wave's shape repeats.
In other words, it is the distance between consecutive corresponding points of the same '' phase'' on ...
of light (e.g. red, green, and blue).
''Classical ray tracing'' (also called ''Whitted-style'' or ''recursive'' ray tracing) extends this method so it can render mirrors and transparent objects. If a ray traced backwards from the camera originates at a point on a mirror, the
reflection formula from
geometric optics
Geometry (; ) is a branch of mathematics concerned with properties of space such as the distance, shape, size, and relative position of figures. Geometry is, along with arithmetic, one of the oldest branches of mathematics. A mathematician ...
is used to calculate the direction the reflected ray came from, and another ray is cast backwards in that direction. If a ray originates at a transparent surface, rays are cast backwards for both
reflected
Reflection is the change in direction of a wavefront at an interface between two different media so that the wavefront returns into the medium from which it originated. Common examples include the reflection of light, sound and water waves. The ...
and
refracted
In physics, refraction is the redirection of a wave as it passes from one medium to another. The redirection can be caused by the wave's change in speed or by a change in the medium. Refraction of light is the most commonly observed phenome ...
rays (using
Snell's law
Snell's law (also known as the Snell–Descartes law, the ibn-Sahl law, and the law of refraction) is a formula used to describe the relationship between the angles of incidence and refraction, when referring to light or other waves passing th ...
to compute the refracted direction), and so ray tracing needs to support a branching "tree" of rays. In simple implementations, a
recursive function is called to trace each ray.
Ray tracing usually performs
anti-aliasing Anti-aliasing may refer to any of a number of techniques to combat the problems of aliasing in a sampled signal such as a digital image or digital audio recording.
Specific topics in anti-aliasing include:
* Anti-aliasing filter, a filter used b ...
by taking the average of multiple
samples for each pixel. It may also use multiple samples for effects like
depth of field
The depth of field (DOF) is the distance between the nearest and the farthest objects that are in acceptably sharp focus (optics), focus in an image captured with a camera. See also the closely related depth of focus.
Factors affecting depth ...
and
motion blur
Motion blur is the apparent streaking of moving objects in a photograph or a sequence of frames, such as a film or animation. It results when the image being recorded changes during the recording of a single exposure, due to rapid movement or l ...
. If evenly spaced ray directions or times are used for each of these features, many rays are required, and some aliasing will remain. ''Cook-style'', ''stochastic'', or ''Monte Carlo ray tracing'' avoids this problem by using
random sampling
In this statistics, quality assurance, and survey methodology, sampling is the selection of a subset or a statistical sample (termed sample for short) of individuals from within a statistical population to estimate characteristics of the who ...
instead of evenly spaced samples. This type of ray tracing is commonly called
''distributed ray tracing'', or ''distribution ray tracing'' because it samples rays from
probability distribution
In probability theory and statistics, a probability distribution is a Function (mathematics), function that gives the probabilities of occurrence of possible events for an Experiment (probability theory), experiment. It is a mathematical descri ...
s. Distribution ray tracing can also render realistic "soft" shadows from large lights by using a random sample of points on the light when testing for shadowing, and it can simulate
chromatic aberration
In optics, chromatic aberration (CA), also called chromatic distortion, color aberration, color fringing, or purple fringing, is a failure of a lens to focus all colors to the same point. It is caused by dispersion: the refractive index of the ...
by sampling multiple wavelengths from the
spectrum of light.
Real surface materials reflect small amounts of light in almost every direction because they have small (or microscopic) bumps and grooves. A distribution ray tracer can simulate this by sampling possible ray directions, which allows rendering blurry reflections from glossy and metallic surfaces. However, if this procedure is repeated
recursively to simulate realistic indirect lighting, and if more than one sample is taken at each surface point, the tree of rays quickly becomes huge. Another kind of ray tracing, called ''path tracing'', handles indirect light more efficiently, avoiding branching, and ensures that the distribution of all possible paths from a light source to the camera is sampled in an
unbiased
Bias is a disproportionate weight ''in favor of'' or ''against'' an idea or thing, usually in a way that is inaccurate, closed-minded, prejudicial, or unfair. Biases can be innate or learned. People may develop biases for or against an individ ...
way.
Ray tracing was often used for rendering reflections in animated films, until path tracing became standard for film rendering. Films such as
Shrek 2
''Shrek 2'' is a 2004 American animated fantasy comedy film loosely based on the 1990 children's picture book '' Shrek!'' by William Steig. Directed by Andrew Adamson, Kelly Asbury, and Conrad Vernon from a screenplay by Adamson, Joe Sti ...
and
Monsters University
''Monsters University'' is a 2013 American animated Coming-of-age film, coming-of-age comedy film produced by Pixar Animation Studios for Walt Disney Pictures. A prequel to ''Monsters, Inc.'' (2001), it was directed by Dan Scanlon (in his fea ...
also used distribution ray tracing or path tracing to precompute indirect illumination for a scene or frame prior to rendering it using rasterization.
Advances in GPU technology have made real-time ray tracing possible in games, although it is currently almost always used in combination with rasterization. This enables visual effects that are difficult with only rasterization, including reflection from curved surfaces and interreflective objects, and shadows that are accurate over a wide range of distances and surface orientations. Ray tracing support is included in recent versions of the graphics APIs used by games, such as
DirectX
Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
,
Metal
A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
, and
Vulkan
Vulkan is a cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and o ...
.
Ray tracing has been used to render simulated
black hole
A black hole is a massive, compact astronomical object so dense that its gravity prevents anything from escaping, even light. Albert Einstein's theory of general relativity predicts that a sufficiently compact mass will form a black hole. Th ...
s, and the appearance of objects moving at close to the speed of light, by taking
spacetime curvature and
relativistic effects into account during light ray simulation.
Radiosity
Radiosity (named after the
radiometric quantity of the same name) is a method for rendering objects illuminated by light
bouncing off rough or matte surfaces. This type of illumination is called ''indirect light'', ''environment lighting'', ''diffuse lighting'', or ''diffuse interreflection'', and the problem of rendering it realistically is called ''global illumination''. Rasterization and basic forms of ray tracing (other than distribution ray tracing and path tracing) can only roughly approximate indirect light, e.g. by adding a uniform "ambient" lighting amount chosen by the artist. Radiosity techniques are also suited to rendering scenes with ''area lights'' such as rectangular fluorescent lighting panels, which are difficult for rasterization and traditional ray tracing. Radiosity is considered a
physically-based method, meaning that it aims to simulate the flow of light in an environment using equations and experimental data from physics, however it often assumes that all surfaces are opaque and perfectly
Lambertian, which reduces realism and limits its applicability.
In the original radiosity method (first proposed in 1984) now called ''classical radiosity'', surfaces and lights in the scene are split into pieces called ''patches'', a process called ''
meshing'' (this step makes it a
finite element method
Finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat tran ...
). The rendering code must then determine what fraction of the light being emitted or
diffusely reflected (scattered) by each patch is received by each other patch. These fractions are called ''form factors'' or ''
view factor
Acornsoft was the software arm of Acorn Computers, and a major publisher of software for the BBC Micro and Acorn Electron. As well as games, it also produced a large number of educational titles, extra computer languages and business and ut ...
s'' (first used in engineering to model
radiative heat transfer
Thermal radiation is electromagnetic radiation emitted by the thermal motion of particles in matter. All matter with a temperature greater than absolute zero emits thermal radiation. The emission of energy arises from a combination of electro ...
). The form factors are multiplied by the
albedo
Albedo ( ; ) is the fraction of sunlight that is Diffuse reflection, diffusely reflected by a body. It is measured on a scale from 0 (corresponding to a black body that absorbs all incident radiation) to 1 (corresponding to a body that reflects ...
of the receiving surface and put in a
matrix
Matrix (: matrices or matrixes) or MATRIX may refer to:
Science and mathematics
* Matrix (mathematics), a rectangular array of numbers, symbols or expressions
* Matrix (logic), part of a formula in prenex normal form
* Matrix (biology), the m ...
. The lighting in the scene can then be expressed as a matrix equation (or equivalently a
system of linear equations
In mathematics, a system of linear equations (or linear system) is a collection of two or more linear equations involving the same variable (math), variables.
For example,
: \begin
3x+2y-z=1\\
2x-2y+4z=-2\\
-x+\fracy-z=0
\end
is a system of th ...
) that can be solved by methods from
linear algebra
Linear algebra is the branch of mathematics concerning linear equations such as
:a_1x_1+\cdots +a_nx_n=b,
linear maps such as
:(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n,
and their representations in vector spaces and through matrix (mathemat ...
.
Solving the radiosity equation gives the total amount of light emitted and reflected by each patch, which is divided by area to get a value called ''
radiosity'' that can be used when rasterizing or ray tracing to determine the color of pixels corresponding to visible parts of the patch. For real-time rendering, this value (or more commonly the
irradiance
In radiometry, irradiance is the radiant flux ''received'' by a ''surface'' per unit area. The SI unit of irradiance is the watt per square metre (symbol W⋅m−2 or W/m2). The CGS unit erg per square centimetre per second (erg⋅cm−2⋅s−1) ...
, which does not depend on local surface albedo) can be pre-computed and stored in a texture (called an ''irradiance map'') or stored as vertex data for 3D models. This feature was used in architectural visualization software to allow real-time walk-throughs of a building interior after computing the lighting.
The large size of the matrices used in classical radiosity (the square of the number of patches) causes problems for realistic scenes. Practical implementations may use
Jacobi or
Gauss-Seidel iterations, which is equivalent (at least in the Jacobi case) to simulating the propagation of light one bounce at a time until the amount of light remaining (not yet absorbed by surfaces) is insignificant. The number of iterations (bounces) required is dependent on the scene, not the number of patches, so the total work is proportional to the square of the number of patches (in contrast, solving the matrix equation using
Gaussian elimination
In mathematics, Gaussian elimination, also known as row reduction, is an algorithm for solving systems of linear equations. It consists of a sequence of row-wise operations performed on the corresponding matrix of coefficients. This method can a ...
requires work proportional to the cube of the number of patches). Form factors may be recomputed when they are needed, to avoid storing a complete matrix in memory.
The quality of rendering is often determined by the size of the patches, e.g. very fine meshes are needed to depict the edges of shadows accurately. An important improvement is ''hierarchical radiosity'', which uses a coarser mesh (larger patches) for simulating the transfer of light between surfaces that are far away from one another, and adaptively sub-divides the patches as needed. This allows radiosity to be used for much larger and more complex scenes.
Alternative and extended versions of the radiosity method support non-Lambertian surfaces, such as glossy surfaces and mirrors, and sometimes use volumes or "clusters" of objects as well as surface patches. Stochastic or
Monte Carlo
Monte Carlo ( ; ; or colloquially ; , ; ) is an official administrative area of Monaco, specifically the Ward (country subdivision), ward of Monte Carlo/Spélugues, where the Monte Carlo Casino is located. Informally, the name also refers to ...
radiosity uses
random sampling
In this statistics, quality assurance, and survey methodology, sampling is the selection of a subset or a statistical sample (termed sample for short) of individuals from within a statistical population to estimate characteristics of the who ...
in various ways, e.g. taking samples of incident light instead of integrating over all patches, which can improve performance but adds noise (this noise can be reduced by using deterministic iterations as a final step, unlike path tracing noise). Simplified and partially precomputed versions of radiosity are widely used for real-time rendering, combined with techniques such as ''
octree
An octree is a tree data structure in which each internal node has exactly eight child node, children. Octrees are most often used to partition a three-dimensional space by recursive subdivision, recursively subdividing it into eight Octant (geo ...
radiosity'' that store approximations of the
light field
A light field, or lightfield, is a vector-valued function, vector function that describes the amount of light flowing in every direction through every point in a space. The space of all possible ''light rays'' is given by the Five-dimensional space ...
.
Path tracing
As part of the approach known as ''
physically based rendering
Physically based rendering (PBR) is a computer graphics approach that seeks to render images in a way that models the lights and surfaces with optics in the real world. It is often referred to as "Physically Based Lighting" or "Physically Based ...
'',
path tracing
Path tracing is a rendering algorithm in computer graphics that Simulation, simulates how light interacts with Physical object, objects, voxels, and Volumetric_path_tracing, participating media to generate realistic (''physically plausible'') R ...
has become the dominant technique for rendering realistic scenes, including effects for movies. For example, the popular open source 3D software
Blender
A blender (sometimes called a mixer (from Latin ''mixus, the PPP of miscere eng. to Mix)'' or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary ...
uses path tracing in its Cycles renderer. Images produced using path tracing for
global illumination
Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting
Lighting or illumination is the deliberate use of light to achieve practical or aest ...
are generally noisier than when using
radiosity (the main competing algorithm for realistic lighting), but radiosity can be difficult to apply to complex scenes and is prone to artifacts that arise from using a
tessellated representation of
irradiance
In radiometry, irradiance is the radiant flux ''received'' by a ''surface'' per unit area. The SI unit of irradiance is the watt per square metre (symbol W⋅m−2 or W/m2). The CGS unit erg per square centimetre per second (erg⋅cm−2⋅s−1) ...
.
Like ''
distributed ray tracing'', path tracing is a kind of ''
stochastic Stochastic (; ) is the property of being well-described by a random probability distribution. ''Stochasticity'' and ''randomness'' are technically distinct concepts: the former refers to a modeling approach, while the latter describes phenomena; i ...
'' or ''
randomized''
ray tracing that uses
Monte Carlo
Monte Carlo ( ; ; or colloquially ; , ; ) is an official administrative area of Monaco, specifically the Ward (country subdivision), ward of Monte Carlo/Spélugues, where the Monte Carlo Casino is located. Informally, the name also refers to ...
or
Quasi-Monte Carlo integration. It was proposed and named in 1986 by
Jim Kajiya in the same paper as the
rendering equation
In computer graphics, the rendering equation is an integral equation that expresses the amount of light leaving a point on a surface as the sum of emitted light and reflected light. It was independently introduced into computer graphics by David ...
. Kajiya observed that much of the complexity of
distributed ray tracing could be avoided by only tracing a single path from the camera at a time (in Kajiya's implementation, this "no branching" rule was broken by tracing additional rays from each surface intersection point to randomly chosen points on each light source). Kajiya suggested reducing the noise present in the output images by using ''
stratified sampling'' and ''
importance sampling
Importance sampling is a Monte Carlo method for evaluating properties of a particular distribution, while only having samples generated from a different distribution than the distribution of interest. Its introduction in statistics is generally at ...
'' for making random decisions such as choosing which ray to follow at each step of a path. Even with these techniques, path tracing would not have been practical for film rendering, using computers available at the time, because the computational cost of generating enough samples to reduce
variance
In probability theory and statistics, variance is the expected value of the squared deviation from the mean of a random variable. The standard deviation (SD) is obtained as the square root of the variance. Variance is a measure of dispersion ...
to an acceptable level was too high.
Monster House, the first feature film rendered entirely using path tracing, was not released until 20 years later.
In its basic form, path tracing is inefficient (requiring too many samples) for rendering
caustics and scenes where light enters indirectly through narrow spaces. Attempts were made to address these weaknesses in the 1990s. ''
Bidirectional path tracing'' has similarities to
photon mapping
In computer graphics, photon mapping is a two-pass global illumination rendering algorithm developed by Henrik Wann Jensen between 1995 and 2001Jensen, H. (1996). ''Global Illumination using Photon Maps''. nlineAvailable at: http://graphics.sta ...
, tracing rays from the light source and the camera separately, and then finding ways to connect these paths (but unlike photon mapping it usually samples new light paths for each pixel rather than using the same cached data for all pixels). ''
Metropolis light transport'' samples paths by modifying paths that were previously traced, spending more time exploring paths that are similar to other "bright" paths, which increases the chance of discovering even brighter paths. ''Multiple importance sampling'' provides a way to reduce
variance
In probability theory and statistics, variance is the expected value of the squared deviation from the mean of a random variable. The standard deviation (SD) is obtained as the square root of the variance. Variance is a measure of dispersion ...
when combining samples from more than one sampling method, particularly when some samples are much noisier than the others.
This later work was summarized and expanded upon in
Eric Veach's 1997 PhD thesis, which helped raise interest in path tracing in the computer graphics community. The
Arnold renderer, first released in 1998, proved that path tracing was practical for rendering frames for films, and that there was a demand for
unbiased
Bias is a disproportionate weight ''in favor of'' or ''against'' an idea or thing, usually in a way that is inaccurate, closed-minded, prejudicial, or unfair. Biases can be innate or learned. People may develop biases for or against an individ ...
and
physically based rendering in the film industry; other commercial and open source path tracing renderers began appearing. Computational cost was addressed by rapid advances in
CPU and
cluster
may refer to:
Science and technology Astronomy
* Cluster (spacecraft), constellation of four European Space Agency spacecraft
* Cluster II (spacecraft), a European Space Agency mission to study the magnetosphere
* Asteroid cluster, a small ...
performance.
Path tracing's relative simplicity and its nature as a
Monte Carlo method
Monte Carlo methods, or Monte Carlo experiments, are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. The underlying concept is to use randomness to solve problems that might be ...
(sampling hundreds or thousands of paths per pixel) have made it attractive to implement on a
GPU, especially on recent GPUs that support ray tracing acceleration technology such as Nvidia's
RTX and
OptiX
Nvidia OptiX (OptiX Application Acceleration Engine) is a Ray tracing (graphics), ray tracing API that was first developed around 2009. The computations are offloaded to the GPUs through either the low-level or the high-level API introduced with ...
. However bidirectional path tracing and Metropolis light transport are more difficult to implement efficiently on a GPU.
Research into improving path tracing continues. Many variations of bidirectional path tracing and Metropolis light transport have been explored, and ways of combining path tracing with photon mapping. Recent ''path guiding'' approaches construct approximations of the
light field
A light field, or lightfield, is a vector-valued function, vector function that describes the amount of light flowing in every direction through every point in a space. The space of all possible ''light rays'' is given by the Five-dimensional space ...
probability distribution in each volume of space, so paths can be sampled more effectively. Techniques have been developed to
denoise the output of path tracing, reducing the number of paths required to achieve acceptable quality, at the risk of losing some detail or introducing small-scale artifacts that are more objectionable than noise;
neural networks
A neural network is a group of interconnected units called neurons that send signals to one another. Neurons can be either Cell (biology), biological cells or signal pathways. While individual neurons are simple, many of them together in a netwo ...
are now widely used for this purpose.
Neural rendering
Neural rendering is a rendering method using
artificial neural network
In machine learning, a neural network (also artificial neural network or neural net, abbreviated ANN or NN) is a computational model inspired by the structure and functions of biological neural networks.
A neural network consists of connected ...
s.
Neural rendering includes
image-based rendering methods that are used to
reconstruct 3D models from 2-dimensional images.
One of these methods are
photogrammetry
Photogrammetry is the science and technology of obtaining reliable information about physical objects and the environment through the process of recording, measuring and interpreting photographic images and patterns of electromagnetic radiant ima ...
, which is a method in which a collection of images from multiple angles of an object are turned into a 3D model. There have also been recent developments in generating and rendering 3D models from text and coarse paintings by notably
Nvidia
Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
,
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
and various other companies.
Scientific and mathematical basis
The implementation of a realistic renderer always has some basic element of physical simulation or emulation some computation which resembles or abstracts a real physical process.
The term "''
physically based''" indicates the use of physical models and approximations that are more general and widely accepted outside rendering. A particular set of related techniques have gradually become established in the rendering community.
The basic concepts are moderately straightforward, but intractable to calculate; and a single elegant algorithm or approach has been elusive for more general purpose renderers. In order to meet demands of robustness, accuracy and practicality, an implementation will be a complex combination of different techniques.
Rendering research is concerned with both the adaptation of scientific models and their efficient application.
Mathematics used in rendering includes:
linear algebra
Linear algebra is the branch of mathematics concerning linear equations such as
:a_1x_1+\cdots +a_nx_n=b,
linear maps such as
:(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n,
and their representations in vector spaces and through matrix (mathemat ...
,
calculus
Calculus is the mathematics, mathematical study of continuous change, in the same way that geometry is the study of shape, and algebra is the study of generalizations of arithmetic operations.
Originally called infinitesimal calculus or "the ...
,
numerical mathematics,
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
, and
Monte Carlo methods
Monte Carlo methods, or Monte Carlo experiments, are a broad class of computational algorithms that rely on Resampling (statistics), repeated random sampling to obtain numerical results. The underlying concept is to use randomness to solve pr ...
.
The rendering equation
This is the key academic/theoretical concept in rendering. It serves as the most abstract formal expression of the non-perceptual aspect of rendering. All more complete algorithms can be seen as solutions to particular formulations of this equation.
:
Meaning: at a particular position and direction, the outgoing light (L
o) is the sum of the emitted light (L
e) and the reflected light. The reflected light being the sum of the incoming light (L
i) from all directions, multiplied by the surface reflection and incoming angle. By connecting outward light to inward light, via an interaction point, this equation stands for the whole 'light transport' all the movement of light in a scene.
The bidirectional reflectance distribution function
The
bidirectional reflectance distribution function
The bidirectional reflectance distribution function (BRDF), symbol f_(\omega_,\, \omega_), is a function of four real variables that defines how light from a source is reflected off an Opacity (optics), opaque surface. It is employed in the optic ...
(BRDF) expresses a simple model of light interaction with a surface as follows:
:
Light interaction is often approximated by the even simpler models: diffuse reflection and specular reflection, although both can ALSO be BRDFs.
Geometric optics
Rendering is practically exclusively concerned with the particle aspect of light physics known as
geometrical optics
Geometrical optics, or ray optics, is a model of optics that describes light Wave propagation, propagation in terms of ''ray (optics), rays''. The ray in geometrical optics is an abstract object, abstraction useful for approximating the paths along ...
. Treating light, at its basic level, as particles bouncing around is a simplification, but appropriate: the wave aspects of light are negligible in most scenes, and are significantly more difficult to simulate. Notable wave aspect phenomena include diffraction (as seen in the colours of
CDs and
DVD
The DVD (common abbreviation for digital video disc or digital versatile disc) is a digital optical disc data storage format. It was invented and developed in 1995 and first released on November 1, 1996, in Japan. The medium can store any ki ...
s) and polarisation (as seen in
LCDs). Both types of effect, if needed, are made by appearance-oriented adjustment of the reflection model.
Visual perception
Though it receives less attention, an understanding of
human visual perception is valuable to rendering. This is mainly because image displays and human perception have restricted ranges. A renderer can simulate a wide range of light brightness and color, but current displays movie screen, computer monitor, etc. cannot handle so much, and something must be discarded or compressed. Human perception also has limits, and so does not need to be given large-range images to create realism. This can help solve the problem of fitting images into displays, and, furthermore, suggest what short-cuts could be used in the rendering simulation, since certain subtleties will not be noticeable. This related subject is
tone mapping
Tone mapping is a technique used in image processing and computer graphics to map one set of colors to another to approximate the appearance of high-dynamic-range (HDR) images in a medium that has a more limited dynamic range. Print-outs, C ...
.
Sampling and filtering
One problem that any rendering system must deal with, no matter which approach it takes, is the sampling problem. Essentially, the rendering process tries to depict a
continuous function
In mathematics, a continuous function is a function such that a small variation of the argument induces a small variation of the value of the function. This implies there are no abrupt changes in value, known as '' discontinuities''. More preci ...
from image space to colors by using a finite number of pixels. As a consequence of the
Nyquist–Shannon sampling theorem
The Nyquist–Shannon sampling theorem is an essential principle for digital signal processing linking the frequency range of a signal and the sample rate required to avoid a type of distortion called aliasing. The theorem states that the sample r ...
(or Kotelnikov theorem), any spatial waveform that can be displayed must consist of at least two pixels, which is proportional to
image resolution
Image resolution is the level of detail of an image. The term applies to digital images, film images, and other types of images. "Higher resolution" means more image detail.
Image resolution can be measured in various ways. Resolution quantifies ...
. In simpler terms, this expresses the idea that an image cannot display details, peaks or troughs in color or intensity, that are smaller than one pixel.
If a naive rendering algorithm is used without any filtering, high frequencies in the image function will cause ugly
aliasing
In signal processing and related disciplines, aliasing is a phenomenon that a reconstructed signal from samples of the original signal contains low frequency components that are not present in the original one. This is caused when, in the ori ...
to be present in the final image. Aliasing typically manifests itself as
jaggies
Jaggies are artifacts in raster images, most frequently from aliasing, which in turn is often caused by non-linear mixing effects producing high-frequency components, or missing or poor anti-aliasing filtering prior to sampling.
Jaggies are stai ...
, or jagged edges on objects where the pixel grid is visible. In order to remove aliasing, all rendering algorithms (if they are to produce good-looking images) must use some kind of
low-pass filter
A low-pass filter is a filter that passes signals with a frequency lower than a selected cutoff frequency and attenuates signals with frequencies higher than the cutoff frequency. The exact frequency response of the filter depends on the filt ...
on the image function to remove high frequencies, a process called
antialiasing.
Hardware
Rendering is usually limited by available computing power and memory
bandwidth
Bandwidth commonly refers to:
* Bandwidth (signal processing) or ''analog bandwidth'', ''frequency bandwidth'', or ''radio bandwidth'', a measure of the width of a frequency range
* Bandwidth (computing), the rate of data transfer, bit rate or thr ...
, and so specialized
hardware has been developed to speed it up ("accelerate" it), particularly for
real-time rendering. Hardware features such as a
framebuffer
A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Mode ...
for raster graphics are required to display the output of rendering smoothly in real time.
History
In the era of
vector monitor
A vector monitor, vector display, or calligraphic display is a display device used for computer graphics up through the 1970s. It is a type of CRT, similar to that of an early oscilloscope. In a vector display, the image is composed of drawn ...
s (also called ''calligraphic displays''), a display processing unit (DPU) was a dedicated
CPU or
coprocessor
A coprocessor is a computer processor used to supplement the functions of the primary processor (the CPU). Operations performed by the coprocessor may be floating-point arithmetic, graphics, signal processing, string processing, cryptography or ...
that maintained a list of visual elements and redrew them continuously on the screen by controlling an
electron beam
Since the mid-20th century, electron-beam technology has provided the basis for a variety of novel and specialized applications in semiconductor manufacturing, microelectromechanical systems, nanoelectromechanical systems, and microscopy.
Mechani ...
. Advanced DPUs such as
Evans & Sutherland
Evans & Sutherland is an American computer graphics firm founded in 1968 by David C. Evans (computer scientist), David Evans and Ivan Sutherland. Its current products are used in digital projection environments like planetariums. Its simulation b ...
's
Line Drawing System-1 (and later models produced into the 1980s) incorporated 3D coordinate transformation features to accelerate rendering of
wire-frame images. Evans & Sutherland also made the
Digistar
Digistar is the first computer graphics-based planetarium projection and content system. It was designed by Evans & Sutherland and released in 1983. The technology originally focused on accurate and high quality display of stars, including for the ...
planetarium
A planetarium (: planetariums or planetaria) is a theatre built primarily for presenting educational and entertaining shows about astronomy and the night sky, or for training in celestial navigation.
A dominant feature of most planetariums is ...
projection system, which was a vector display that could render both stars and wire-frame graphics (the vector-based Digistar and Digistar II were used in many planetariums, and a few may still be in operation). A Digistar prototype was used for rendering 3D star fields for the film
Star Trek II: The Wrath of Khan – some of the first 3D computer graphics sequences ever seen in a feature film.
Shaded 3D graphics rendering in the 1970s and early 1980s was usually implemented on general-purpose computers, such as the
PDP-10
Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especi ...
used by researchers at the University of Utah. It was difficult to speed up using specialized hardware because it involves a
pipeline
A pipeline is a system of Pipe (fluid conveyance), pipes for long-distance transportation of a liquid or gas, typically to a market area for consumption. The latest data from 2014 gives a total of slightly less than of pipeline in 120 countries ...
of complex steps, requiring data addressing, decision-making, and computation capabilities typically only provided by CPUs (although dedicated circuits for speeding up particular operations were proposed ).
Supercomputer
A supercomputer is a type of computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second (FLOPS) instead of million instruc ...
s or specially designed multi-CPU computers or
clusters
may refer to:
Science and technology Astronomy
* Cluster (spacecraft), constellation of four European Space Agency spacecraft
* Cluster II (spacecraft), a European Space Agency mission to study the magnetosphere
* Asteroid cluster, a small ...
were sometimes used for ray tracing. In 1981,
James H. Clark
James Henry Clark (born March 23, 1944) is an American entrepreneur and computer scientist. He founded several notable Silicon Valley technology companies, including Silicon Graphics, Netscape, myCFO, and Healtheon. His research work in compu ...
and
Marc Hannah designed the Geometry Engine, a
VLSI chip for performing some of the steps of the 3D rasterization pipeline, and started the company
Silicon Graphics
Silicon Graphics, Inc. (stylized as SiliconGraphics before 1999, later rebranded SGI, historically known as Silicon Graphics Computer Systems or SGCS) was an American high-performance computing manufacturer, producing computer hardware and soft ...
(SGI) to commercialize this technology.
Home computer
Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...
s and
game consoles in the 1980s contained graphics
coprocessor
A coprocessor is a computer processor used to supplement the functions of the primary processor (the CPU). Operations performed by the coprocessor may be floating-point arithmetic, graphics, signal processing, string processing, cryptography or ...
s that were capable of scrolling and filling areas of the display, and drawing
sprites and lines, though they were not useful for rendering realistic images. Towards the end of the 1980s
PC graphics cards and
arcade games
An arcade game or coin-op game is a coin-operated entertainment machine typically installed in public businesses such as restaurants, bars and amusement arcades. Most arcade games are presented as primarily games of skill and include arcade ...
with 3D rendering acceleration began to appear, and in the 1990s such technology became commonplace. Today, even low-power
mobile processors typically incorporate 3D graphics acceleration features.
GPUs
The
3D graphics accelerators of the 1990s evolved into modern GPUs. GPUs are general-purpose processors, like
CPUs
A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary Processor (computing), processor in a given computer. Its electronic circuitry executes Instruction (computing), instructions ...
, but they are designed for tasks that can be broken into many small, similar, mostly independent sub-tasks (such as rendering individual pixels) and performed in
parallel. This means that a GPU can speed up any rendering algorithm that can be split into subtasks in this way, in contrast to 1990s 3D accelerators which were only designed to speed up specific rasterization algorithms and simple shading and lighting effects (although
tricks could be used to perform more general computations).
Due to their origins, GPUs typically still provide specialized hardware acceleration for some steps of a traditional 3D rasterization
pipeline
A pipeline is a system of Pipe (fluid conveyance), pipes for long-distance transportation of a liquid or gas, typically to a market area for consumption. The latest data from 2014 gives a total of slightly less than of pipeline in 120 countries ...
, including hidden surface removal using a
z-buffer
A z-buffer, also known as a depth buffer, is a type of data buffer used in computer graphics to store the depth information of Fragmentation (computing), fragments. The values stored represent the distance to the camera, with 0 being the closest ...
, and
texture mapping
Texture mapping is a term used in computer graphics to describe how 2D images are projected onto 3D models. The most common variant is the UV unwrap, which can be described as an inverse paper cutout, where the surfaces of a 3D model are cut ap ...
with
mipmap
In computer graphics, a mipmap (''mip'' being an acronym of the Latin phrase ''multum in parvo'', meaning "much in little") is a pre-calculated, optimized sequence of images, each of which has an image resolution which is a factor of two small ...
s, but these features are no longer always used. Recent GPUs have features to accelerate finding the intersections of rays with a
bounding volume hierarchy
A bounding volume hierarchy (BVH) is a tree structure on a set of geometric objects. All geometric objects, which form the leaf nodes of the tree, are wrapped in bounding volumes. These nodes are then grouped as small sets and enclosed within lar ...
, to help speed up all variants of
ray tracing and
path tracing
Path tracing is a rendering algorithm in computer graphics that Simulation, simulates how light interacts with Physical object, objects, voxels, and Volumetric_path_tracing, participating media to generate realistic (''physically plausible'') R ...
, as well as
neural network
A neural network is a group of interconnected units called neurons that send signals to one another. Neurons can be either biological cells or signal pathways. While individual neurons are simple, many of them together in a network can perfor ...
acceleration features sometimes useful for rendering.
GPUs are usually integrated with
high-bandwidth memory systems to support the read and write
bandwidth
Bandwidth commonly refers to:
* Bandwidth (signal processing) or ''analog bandwidth'', ''frequency bandwidth'', or ''radio bandwidth'', a measure of the width of a frequency range
* Bandwidth (computing), the rate of data transfer, bit rate or thr ...
requirements of high-resolution, real-time rendering, particularly when multiple passes are required to render a frame, however memory
latency may be higher than on a CPU, which can be a problem if the
critical path in an algorithm involves many memory accesses. GPU design accepts high latency as inevitable (in part because a large number of
threads are sharing the
memory bus
In computer architecture, a bus (historically also called a data highway or databus) is a communication system that transfers data between components inside a computer or between computers. It encompasses both hardware (e.g., wires, optica ...
) and attempts to "hide" it by efficiently switching between threads, so a different thread can be performing computations while the first thread is waiting for a read or write to complete.
Rendering algorithms will run efficiently on a GPU only if they can be implemented using small groups of threads that perform mostly the same operations. As an example of code that meets this requirement: when rendering a small square of pixels in a simple
ray-traced image, all threads will likely be intersecting rays with the same object and performing the same lighting computations. For performance and architectural reasons, GPUs run groups of around 16-64 threads called ''warps'' or ''wavefronts'' in
lock-step (all threads in the group are executing the same instructions at the same time). If not all threads in the group need to run particular blocks of code (due to conditions) then some threads will be idle, or the results of their computations will be discarded, causing degraded performance.
Chronology of algorithms and techniques
The following is a rough timeline of frequently mentioned rendering techniques, including areas of current research. Note that even in cases where an idea was named in a specific paper, there were almost always multiple researchers or teams working in the same area (including earlier related work). When a method is first proposed it is often very inefficient, and it takes additional research and practical efforts to turn it into a useful technique.
The list focuses on academic research and does not include hardware. (For more history see
#External links, as well as
Computer graphics#History and
Golden age of arcade video games#Technology.)
* 1760 –
Lambertian reflectance model
* 1931 –
Standardized RGB representation of color
* 1967 – Torrance-Sparrow reflectance model
* 1968 –
Ray casting
Ray casting is the methodological basis for 3D CAD/CAM solid modeling and image rendering. It is essentially the same as ray tracing (graphics), ray tracing for computer graphics where virtual light rays are "cast" or "traced" on their path from th ...
* 1968 –
Warnock hidden surface removal
* 1970 –
Scanline rendering
Scanline rendering (also scan line rendering and scan-line rendering) is an algorithm for visible surface determination, in 3D computer graphics, that works on a row-by-row basis rather than a polygon-by-polygon or pixel-by-pixel basis. All of ...
* 1971 –
Gouraud shading
Gouraud shading ( ), named after Henri Gouraud (computer scientist), Henri Gouraud, is an interpolation method used in computer graphics to produce continuous shading of surfaces represented by Polygon mesh, polygon meshes. In practice, Gouraud ...
* 1973 –
Phong shading
In 3D computer graphics, Phong shading, Phong interpolation, or normal-vector interpolation shading is an interpolation technique for surface shading invented by computer graphics pioneer Bui Tuong Phong. Phong shading interpolates surface no ...
* 1973 –
Phong reflectance model[
* 1974 – ]Texture mapping
Texture mapping is a term used in computer graphics to describe how 2D images are projected onto 3D models. The most common variant is the UV unwrap, which can be described as an inverse paper cutout, where the surfaces of a 3D model are cut ap ...
* 1974 – Z-buffering
A z-buffer, also known as a depth buffer, is a type of data buffer used in computer graphics to store the depth information of fragments. The values stored represent the distance to the camera, with 0 being the closest. The encoding scheme may ...
* 1976 – Environment mapping
In computer graphics, reflection mapping or environment mapping is an efficient image-based lighting technique for approximating the appearance of a reflective surface by means of a precomputed texture. The texture is used to store the image of ...
* 1977 – Blinn–Phong reflectance model
* 1977 – Shadow volume
Shadow volume is a technique used in 3D computer graphics to add shadows to a rendered scene. It was first proposed by Frank Crow in 1977 as the geometry describing the 3D shape of the region occluded from a light source. A shadow volume divides ...
s
* 1978 – Shadow mapping
Shadow mapping or shadowing projection is a process by which shadows are added to 3D computer graphics. This concept was introduced by Lance Williams in 1978, in a paper entitled "Casting curved shadows on curved surfaces." Since then, it has b ...
* 1978 – Bump mapping
* 1980 – BSP trees
* 1980 – Ray tracing
* 1981 – Cook-Torrance reflectance model
* 1983 – MIP maps
* 1984 – Octree
An octree is a tree data structure in which each internal node has exactly eight child node, children. Octrees are most often used to partition a three-dimensional space by recursive subdivision, recursively subdividing it into eight Octant (geo ...
ray tracing
* 1984 – Alpha compositing
In computer graphics, alpha compositing or alpha blending is the process of combining one image with a background to create the appearance of partial or full transparency. It is often useful to render picture elements (pixels) in separate pass ...
* 1984 – Distributed ray tracing
* 1984 – Radiosity (method for non-trivial scenes in 1985)
* 1984 – A-buffer
* 1985 – Hemicube Hemicube can mean:
* Hemicube (computer graphics), a concept in 3D computer graphics rendering
*Hemicube (geometry)
In abstract geometry, a hemicube is an abstract, regular polyhedron, produced by cutting a cube in half with a plane that passes ...
radiosity
* 1986 – Light source tracing
* 1986 – Rendering equation
In computer graphics, the rendering equation is an integral equation that expresses the amount of light leaving a point on a surface as the sum of emitted light and reflected light. It was independently introduced into computer graphics by David ...
* 1986 – Path tracing
Path tracing is a rendering algorithm in computer graphics that Simulation, simulates how light interacts with Physical object, objects, voxels, and Volumetric_path_tracing, participating media to generate realistic (''physically plausible'') R ...
* 1987 – Reyes rendering
Reyes rendering is a computer software architecture used in 3D computer graphics to render photo-realistic images. It was developed in the mid-1980s by Loren Carpenter and Robert L. Cook at Lucasfilm's Computer Graphics Research Group, which is ...
* 1988 – Irradiance caching
* 1991 – Xiaolin Wu line anti-aliasing
* 1991 – Hierarchical radiosity
* 1993 – Oren–Nayar reflectance model[M. Oren and S.K. Nayar,]
Generalization of Lambert's Reflectance Model
". SIGGRAPH. pp.239-246, Jul, 1994
* 1993 – Tone mapping
Tone mapping is a technique used in image processing and computer graphics to map one set of colors to another to approximate the appearance of high-dynamic-range (HDR) images in a medium that has a more limited dynamic range. Print-outs, C ...
* 1993 – Subsurface scattering
Subsurface scattering (SSS), also known as subsurface light transport (SSLT), is a mechanism of light transport in which light that penetrates the surface of a translucent object is scattering, scattered by interacting with the Material (comput ...
* 1993 – Bidirectional path tracing (Lafortune & Willems formulation)
* 1994 – Ambient occlusion
In 3D computer graphics, modeling, and animation, ambient occlusion is a shading and rendering technique used to calculate how exposed each point in a scene is to ambient lighting. For example, the interior of a tube is typically more occlude ...
* 1995 – Photon mapping
In computer graphics, photon mapping is a two-pass global illumination rendering algorithm developed by Henrik Wann Jensen between 1995 and 2001Jensen, H. (1996). ''Global Illumination using Photon Maps''. nlineAvailable at: http://graphics.sta ...
* 1995 – Multiple importance sampling
* 1997 – Bidirectional path tracing (Veach & Guibas formulation)
* 1997 – Metropolis light transport
* 1997 – Instant Radiosity
* 2002 – Precomputed Radiance Transfer
* 2002 – Primary sample space Metropolis light transport
* 2003 – MERL BRDF
The bidirectional reflectance distribution function (BRDF), symbol f_(\omega_,\, \omega_), is a function of four real variables that defines how light from a source is reflected off an Opacity (optics), opaque surface. It is employed in the optic ...
database
* 2005 – Lightcuts
* 2005 – Radiance caching
* 2009 – Stochastic progressive photon mapping (SPPM)
* 2012 – Vertex connection and merging (VCM) (also called unified path sampling)
* 2012 – Manifold exploration
* 2013 – Gradient-domain rendering
* 2014 – Multiplexed Metropolis light transport
* 2014 – Differentiable rendering
* 2015 – Manifold next event estimation (MNEE)
* 2017 – Path guiding (using adaptive SD-tree)
* 2020 – Spatiotemporal reservoir
A reservoir (; ) is an enlarged lake behind a dam, usually built to water storage, store fresh water, often doubling for hydroelectric power generation.
Reservoirs are created by controlling a watercourse that drains an existing body of wa ...
resampling (ReSTIR)
* 2020 – Neural radiance field
A neural radiance field (NeRF) is a method based on deep learning for reconstructing a three-dimensional representation of a scene from two-dimensional images. The NeRF model enables downstream applications of novel view synthesis, scene geometry ...
s
* 2023 – 3D Gaussian splatting
See also
* 2D computer graphics
2D computer graphics is the computer-based generation of digital images—mostly from two-dimensional models (such as 2D geometric models, text, and digital images) and by techniques specific to them. It may refer to the branch of computer s ...
* 3D computer graphics
3D computer graphics, sometimes called Computer-generated imagery, CGI, 3D-CGI or three-dimensional Computer-generated imagery, computer graphics, are graphics that use a three-dimensional representation of geometric data (often Cartesian coor ...
* 3D modeling
In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based Computer representation of surfaces, representation of a surface of an object (inanimate or living) in Three-dimensional space, three dimensions vi ...
* 3D rendering
3D rendering is the 3D computer graphics process of converting 3D models into 2D images on a computer. 3D renders may include photorealistic effects or non-photorealistic styles.
Rendering methods
Rendering is the final process of creati ...
* Architectural rendering
Architectural rendering, architectural illustration, or architectural visualization (often abbreviated to archviz or ArchViz) is the art of creating three-dimensional images or animations showing the attributes of a proposed architectural design.
...
* Augmented reality
Augmented reality (AR), also known as mixed reality (MR), is a technology that overlays real-time 3D computer graphics, 3D-rendered computer graphics onto a portion of the real world through a display, such as a handheld device or head-mounted ...
*
* Computer animation
* Computer-generated imagery, Computer-generated imagery (CGI) General term for images rendered by a computer (e.g. when used for visual effects in a film)
* Computer graphics
* Computer graphics (computer science)
* Digital compositing
* Font rasterization Rendering text
* Global illumination Rendering light that bounces between surfaces in a scene (in addition to direct light)
* Glossary of computer graphics
* Graphics library A software component that performs rendering and/or other graphics-related functions, usable by multiple applications, or an interface between a rendering component or graphics pipeline and the applications that use it (in the latter case called an API)
* Graphics pipeline Sequence of steps for real-time 3D rendering, usually accelerated by special-purpose hardware (e.g. a GPU)
* High-dynamic-range rendering Rendering that uses a larger range of light intensities than typically displayed on a computer screen
* History of computer animation
* List of 3D graphics libraries
* List of 3D rendering software
* List of computer graphics and descriptive geometry topics
* List of rendering APIs
* Non-photorealistic rendering
* On-set virtual production Use of LED panels to display a rendered background on a film or TV set
* Physically based rendering Rendering techniques that aim to realistically simulate the physics of light and the optical properties of materials
* Pre-rendering Rendering for later viewing (in contrast to real-time rendering). Also called offline rendering.
* Projection mapping Projection of moving or static images (including rendered images) onto objects in the real world other than conventional screens
* Raster graphics Type of data that rendering usually outputs, consisting of a 2D grid of (pixel) values
* Raster image processor Rendering component in a printer or printing system
* Real-time computer graphics, Real-time rendering
* Scientific visualization
* Software rendering 3D rendering using a general-purpose CPU (instead of a hardware-accelerated graphics pipeline). Distinction is less clear in the era of GPUs that can run arbitrary code.
* Technical drawing
* Timeline of computer animation in film and television
* Unbiased rendering Rendering techniques that avoid statistical bias (usually a refinement of physically based rendering)
*
* Virtual reality
* Visual effects, Visual effects (VFX) Rendered images (or manipulated footage, shots of physical models, etc.) combined with live-action film footage
* Volume rendering
In scientific visualization and computer graphics, volume rendering is a set of techniques used to display a 2D projection of a 3D discretely sampled data set, typically a 3D scalar field.
A typical 3D data set is a group of 2D slice image ...
Visualization of a 3D data set (data set that assigns values to points or cells (voxels) in a 3D grid)
References
Further reading
*
*
*
*
*
*
*
*
*
*
*
*
*
External links
SIGGRAPH
the ACMs special interest group in graphics the largest academic and professional association and conference
vintage3d.org "The way to home 3d"
Extensive history of computer graphics hardware, including research, commercialization, and video games and consoles
{{DEFAULTSORT:Rendering (Computer Graphics)
3D rendering