All Topics  
Rendering (computer graphics)

 

   Email Print
   Bookmark   Link






 

Rendering (computer graphics)



 
 
Rendering is the process of generating an image from a model, by means of computer programs. The model is a description of three-dimensional objects in a strictly defined language or data structure. It would contain geometry, viewpoint, texture
Texture mapping

Texture mapping is a method for adding detail, surface texture, or colour to a computer-generated imagery or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D....
, lighting
Lighting

File:Gare de l'Est Paris 2007 033.jpgLighting is the deliberate application of light to achieve some aesthetic or practical effect. Lighting includes use of both artificial light sources such as lamps and natural illumination of interiors from daylight....
, and shading
Shading

Shading refers to wikt:depicting depth in 3D models or illustrations by varying levels of darkness....
 information.






Discussion
Ask a question about 'Rendering (computer graphics)'
Start a new discussion about 'Rendering (computer graphics)'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Glasses 800 Edit
Rendering is the process of generating an image from a model, by means of computer programs. The model is a description of three-dimensional objects in a strictly defined language or data structure. It would contain geometry, viewpoint, texture
Texture mapping

Texture mapping is a method for adding detail, surface texture, or colour to a computer-generated imagery or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D....
, lighting
Lighting

File:Gare de l'Est Paris 2007 033.jpgLighting is the deliberate application of light to achieve some aesthetic or practical effect. Lighting includes use of both artificial light sources such as lamps and natural illumination of interiors from daylight....
, and shading
Shading

Shading refers to wikt:depicting depth in 3D models or illustrations by varying levels of darkness....
 information. The image is a digital image
Digital image

A digital image is a representation of a two-dimensional using ones and zeros . Depending on whether or not the is fixed, it may be of vector graphics or raster graphics type....
 or raster graphics
Raster graphics

In computer graphics, a raster graphics image or bitmap, is a data structure representing a generally Rectangle grid of pixels, or points of color, viewable via a Computer display, paper, or other display medium....
 image
Image

An image is an artifact, usually two-dimensional , that has a similar appearance to some subject —usually a physical object or a person....
. The term may be by analogy with an "artist's rendering" of a scene. 'Rendering' is also used to describe the process of calculating effects in a video editing file to produce final video output.

It is one of the major sub-topics of 3D computer graphics
3D computer graphics

3D computer graphics are graphics that use a Cartesian coordinate system#Three-dimensional coordinate system representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images....
, and in practice always connected to the others. In the graphics pipeline
Graphics pipeline

In 3D computer graphics, the terms graphics pipeline or rendering pipeline most commonly refer to the current state of the art method of rasterization-based rendering as supported by commodity graphics hardware....
, it is the last major step, giving the final appearance to the models and animation. With the increasing sophistication of computer graphics since the 1970s onward, it has become a more distinct subject.

Rendering has uses in architecture
Architectural rendering

Architectural rendering, or architectural illustration, is the art of creating two-dimensional images showing the attributes of a proposed architecture design....
, video games, simulators
Simulation

Simulation is the imitation of some real thing, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviors of a selected physical or abstract system....
, movie
Film

Film encompasses individual motion pictures, the field of film as an art form, and the film industry. Films are produced by recording images from the world with cameras, or by creating images using animation techniques or special effects....
 or TV special effects
Visual effects

Visual effects are the various processes by which imagery is created and/or manipulated outside the context of a live action shoot. Visual effects often involve the integration of live-action footage and computer generated imagery in order to create environments which look realistic, but would be dangerous, costly, or simply impossible to...
, and design visualization, each employing a different balance of features and techniques. As a product, a wide variety of renderers are available. Some are integrated into larger modeling and animation packages, some are stand-alone, some are free open-source projects. On the inside, a renderer is a carefully engineered program, based on a selective mixture of disciplines related to: light physics
Optics

Optics is the study of the behavior and properties of light including its optical phenomena with matter and its imaging by optical instruments....
, visual perception
Visual system

The visual system is the part of the central nervous system which allows organisms to visual perception.It interprets the information from visible light to build a representation of the world surrounding the body....
, mathematics
Mathematics

Mathematics is the study of quantity, structure, space, change, and related topics of pattern and form. Mathematicians seek out patterns whether found in numbers, space, natural science, computers, imaginary abstractions, or elsewhere....
, and software development
Software engineering

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches....
.

In the case of 3D graphics, rendering may be done slowly, as in pre-rendering
Pre-rendered

Pre-rendering is the process in which video footage is not rendering in real-time by the hardware that is outputing or playing back the video. Instead, the video is a recording of a footage that was previously rendered on a different equipment ....
, or in real time. Pre-rendering is a computationally intensive process that is typically used for movie creation, while real-time rendering is often done for 3D video games which rely on the use of graphics cards with 3D hardware accelerators.

Usage

When the pre-image (a wireframe sketch usually) is complete, rendering is used, which adds in bitmap textures
Bitmap textures

Bitmap textures are digital images representing a surface, a material, a pattern or even a picture, generated by an artist or designer using a bitmap graphics editor such as Adobe Photoshop or GIMP or simply by an image and, if necessary, retouching it on a personal computer....
 or procedural textures, lights, bump mapping
Bump mapping

Bump mapping is a computer graphics technique where at each pixel, a perturbation to the surface normal of the object being rendering is looked up in a heightmap and applied before the illumination calculation is done ....
, and relative position to other objects. The result is a completed image the consumer or intended viewer sees.

For movie animations, several images (frames) must be rendered, and stitched together in a program capable of making an animation of this sort. Most 3D image editing programs can do this.

Features

A rendered image can be understood in terms of a number of visible features. Rendering research and development has been largely motivated by finding ways to simulate these efficiently. Some relate directly to particular algorithms and techniques, while others are produced together.

  • shading
    Shading

    Shading refers to wikt:depicting depth in 3D models or illustrations by varying levels of darkness....
     — how the color and brightness of a surface varies with lighting
  • texture-mapping
    Texture mapping

    Texture mapping is a method for adding detail, surface texture, or colour to a computer-generated imagery or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D....
     — a method of applying detail to surfaces
  • bump-mapping
    Bump mapping

    Bump mapping is a computer graphics technique where at each pixel, a perturbation to the surface normal of the object being rendering is looked up in a heightmap and applied before the illumination calculation is done ....
     — a method of simulating small-scale bumpiness on surfaces
  • fogging/participating medium
    Distance fog

    Distance fog is a technique used in 3D computer graphics to enhance the depth perception of distance by simulating fog.Because many of the shapes in graphical environments are relatively simple, and complex shadows are difficult to rendering , many graphics engines employ a "fog" gradient so objects further from the virtual camera are prog...
     — how light dims when passing through non-clear atmosphere or air
  • shadow
    Shadow

    File:Shadow, Ronald Reagan Building - Washington, D.C..jpgA shadow is an area where direct light from a light source cannot reach due to obstruction by an object....
    s — the effect of obstructing light
  • soft shadows — varying darkness caused by partially obscured light sources
  • reflection
    Reflection (computer graphics)

    Reflection in computer graphics is used to emulate reflection objects like mirrors and shiny surfaces....
     — mirror-like or highly glossy reflection
  • transparency
    Transparency (optics)

    In optics, transparency is the material property of allowing light to pass through. In mineralogy, another term for this property is diaphaneity....
    , transparency
    Transparency (graphic)

    Transparency is possible in a number of graphics file formats. The term transparency is used in various ways by different people, but at its simplest there is "full transparency" i.e....
     or opacity
    Opacity (optics)

    Opacity is the measure of impenetrability to electromagnetic radiation or other kinds of radiation, especially visible light. In radiative transfer, it describes the absorption and scattering of radiation in a medium, such as a plasma, dielectric, radiation shield, glass, etc....
     — sharp transmission of light through solid objects
  • translucency — highly scattered transmission of light through solid objects
  • refraction
    Refraction

    Refraction is the change in direction of a wave due to a change in its speed. This is most commonly observed when a wave passes from one optical medium to another....
     — bending of light associated with transparency
  • diffraction
    Diffraction

    Diffraction is normally taken to refer to various phenomena which occur when a wave encounters an obstacle. It is described as the apparent bending of waves around small obstacles and the spreading out of waves past small openings....
     — bending, spreading and interference of light passing by an object or aperture that disrupts the ray
  • indirect illumination
    Global illumination

    Global illumination is a general name for a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes....
     — surfaces illuminated by light reflected off other surfaces, rather than directly from a light source (also known as global illumination)
  • caustics
    Caustic (optics)

    In optics, a caustic is the envelope of light rays Reflection or refraction by a curved surface or object, or the Projection of that envelope of rays on another surface....
     (a form of indirect illumination) — reflection of light off a shiny object, or focusing of light through a transparent object, to produce bright highlights on another object
  • depth of field
    Depth of field

    In optics, particularly as it relates to film and photography, the depth of field is the portion of a scene that appears sharp in the image. Although a lens can precisely focus at only one distance, the decrease in sharpness is gradual on either side of the focused distance, so that within the DOF, the unsharpness is imperceptible under nor...
     — objects appear blurry or out of focus when too far in front of or behind the object in focus
  • motion blur
    Motion blur

    Motion blur is the apparent streaking of rapidly moving objects in a Photography or a sequence of images such as a film or animation....
     — objects appear blurry due to high-speed motion, or the motion of the camera
  • non-photorealistic rendering
    Non-photorealistic rendering

    Non-photorealistic rendering is an area of computer graphics that focuses on enabling a wide variety of expressive styles for digital art. In contrast to traditional computer graphics, which has focused on photorealism, NPR is inspired by artistic styles such as painting, drawing, technical illustration, and animated cartoons....
     — rendering of scenes in an artistic style, intended to look like a painting or drawing


Techniques

Many rendering algorithms have been researched, and software used for rendering may employ a number of different techniques to obtain a final image.

Tracing every ray of light in a scene is impractical and would take an enormous amount of time. Even tracing a portion large enough to produce an image takes an inordinate amount of time if the sampling is not intelligently restricted.

Therefore, four loose families of more-efficient light transport modelling techniques have emerged: rasterisation, including scanline rendering
Scanline rendering

Scanline rendering is an algorithm for Hidden surface determination#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....
, geometrically projects objects in the scene to an image plane, without advanced optical effects; ray casting
Ray casting

Ray casting is the use of ray-surface intersection tests to solve a variety of problems in computer graphics. The term was first used in computer graphics in a 1982 paper by Scott Roth to describe a method for rendering Constructive solid geometry models....
 considers the scene as observed from a specific point-of-view, calculating the observed image based only on geometry and very basic optical laws of reflection intensity, and perhaps using Monte Carlo
Monte Carlo method

Monte Carlo methods are a class of computational algorithms that rely on repeated random sampling to compute their results. Monte Carlo methods are often used when computer simulation physics and mathematics systems....
 techniques to reduce artifacts; radiosity
Radiosity

Radiosity is a global illumination algorithm used in 3D computer graphics rendering . Radiosity is an application of the finite element method to solving the rendering equation for scenes with purely diffuse surfaces....
 uses finite element mathematics to simulate diffuse spreading of light from surfaces; and ray tracing
Ray tracing

In computer graphics, ray tracing is a technique for generating an digital image by tracing the path of light through pixel in an . The technique is capable of producing a very high degree of photorealism; usually higher than that of typical scanline rendering methods, but at a greater computation time....
 is similar to ray casting, but employs more advanced optical simulation, and usually uses Monte Carlo techniques to obtain more realistic results at a speed that is often orders of magnitude slower.

Most advanced software combines two or more of the techniques to obtain good-enough results at reasonable cost.

Scanline rendering and rasterisation

A high-level representation of an image necessarily contains elements in a different domain from pixels. These elements are referred to as primitives. In a schematic drawing, for instance, line segments and curves might be primitives. In a graphical user interface, windows and buttons might be the primitives. In 3D rendering, triangles and polygons in space might be primitives.

If a pixel-by-pixel approach to rendering is impractical or too slow for some task, then a primitive-by-primitive approach to rendering may prove useful. Here, one loops through each of the primitives, determines which pixels in the image it affects, and modifies those pixels accordingly. This is called rasterization, and is the rendering method used by all current graphics cards.

Rasterization is frequently faster than pixel-by-pixel rendering. First, large areas of the image may be empty of primitives; rasterization will ignore these areas, but pixel-by-pixel rendering must pass through them. Second, rasterization can improve cache coherency
Cache coherency

In computing, cache coherence refers to the integrity of data stored in local caches of a shared resource. Cache coherence is a special case of memory coherence....
 and reduce redundant work by taking advantage of the fact that the pixels occupied by a single primitive tend to be contiguous in the image. For these reasons, rasterization is usually the approach of choice when interactive
Interactivity

In the fields of information science, communication, and industrial design, there is debate over the meaning of Interactivity. In the "contingency view" of interactivity, there are three levels: Noninteractive, when a message is not related to previous messages; Reactive, when a message is related only to one immediately previous message; an...
 rendering is required; however, the pixel-by-pixel approach can often produce higher-quality images and is more versatile because it does not depend on as many assumptions about the image as rasterization.

The older form of rasterization is characterized by rendering an entire face (primitive) as a single color. Alternatively, rasterization can be done in a more complicated manner by first rendering the vertices of a face and then rendering the pixels of that face as a blending of the vertex colors. This version of rasterization has overtaken the old method as it allows the graphics to flow without complicated textures (a rasterized image when used face by face tends to have a very block-like effect if not covered in complex textures; the faces aren't smooth because there is no gradual color change from one primitive to the next). This newer method of rasterization utilizes the graphics card's more taxing shading functions and still achieves better performance because the simpler textures stored in memory use less space. Sometimes designers will use one rasterization method on some faces and the other method on others based on the angle at which that face meets other joined faces, thus increasing speed and not hurting the overall effect.

Ray casting

Ray casting
Ray casting

Ray casting is the use of ray-surface intersection tests to solve a variety of problems in computer graphics. The term was first used in computer graphics in a 1982 paper by Scott Roth to describe a method for rendering Constructive solid geometry models....
 is primarily used for realtime simulations, such as those used in 3D computer games and cartoon animations, where detail is not important, or where it is more efficient to manually fake the details in order to obtain better performance in the computational stage. This is usually the case when a large number of frames need to be animated. The resulting surfaces have a characteristic 'flat' appearance when no additional tricks are used, as if objects in the scene were all painted with matte finish.

The geometry which has been modeled is parsed pixel by pixel, line by line, from the point of view outward, as if casting rays out from the point of view. Where an object is intersected, the color value at the point may be evaluated using several methods. In the simplest, the color value of the object at the point of intersection becomes the value of that pixel. The color may be determined from a texture-map
Texture mapping

Texture mapping is a method for adding detail, surface texture, or colour to a computer-generated imagery or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D....
. A more sophisticated method is to modify the colour value by an illumination factor, but without calculating the relationship to a simulated light source. To reduce artifacts, a number of rays in slightly different directions may be averaged.

Rough simulations of optical properties may be additionally employed: a simple calculation of the ray from the object to the point of view is made. Another calculation is made of the angle of incidence of light rays from the light source(s), and from these as well as the specified intensities of the light sources, the value of the pixel is calculated. Another simulation uses illumination plotted from a radiosity algorithm, or a combination of these two.

Radiosity

Radiosity
Radiosity

Radiosity is a global illumination algorithm used in 3D computer graphics rendering . Radiosity is an application of the finite element method to solving the rendering equation for scenes with purely diffuse surfaces....
 is a method which attempts to simulate the way in which directly illuminated surfaces act as indirect light sources that illuminate other surfaces. This produces more realistic shading and seems to better capture the 'ambience
Ambient light

Ambient light is a term used by photography, cinematographers and other practitioners of the visual arts to refer to the illumination surrounding a subject or scene, specifically any and all light not provided by the photographer....
' of an indoor scene. A classic example is the way that shadows 'hug' the corners of rooms.

The optical basis of the simulation is that some diffused light from a given point on a given surface is reflected in a large spectrum of directions and illuminates the area around it.

The simulation technique may vary in complexity. Many renderings have a very rough estimate of radiosity, simply illuminating an entire scene very slightly with a factor known as ambiance. However, when advanced radiosity estimation is coupled with a high quality ray tracing algorithim, images may exhibit convincing realism, particularly for indoor scenes.

In advanced radiosity simulation, recursive, finite-element algorithms 'bounce' light back and forth between surfaces in the model, until some recursion limit is reached. The colouring of one surface in this way influences the colouring of a neighbouring surface, and vice versa. The resulting values of illumination throughout the model (sometimes including for empty spaces) are stored and used as additional inputs when performing calculations in a ray-casting or ray-tracing model.

Due to the iterative/recursive nature of the technique, complex objects are particularly slow to emulate. Prior to the standardization of rapid radiosity calculation, some graphic artists used a technique referred to loosely as false radiosity
False radiosity

False Radiosity is a 3D computer graphics technique used to create texture mapping for objects that emulates patch interaction algorithms in radiosity rendering....
 by darkening areas of texture maps corresponding to corners, joints and recesses, and applying them via self-illumination or diffuse mapping for scanline rendering. Even now, advanced radiosity calculations may be reserved for calculating the ambiance of the room, from the light reflecting off walls, floor and celiing, without examining the contribution that complex objects make to the radiosity -- or complex objects may be replaced in the radiosity calculation with simpler objects of similar size and texture.

If there is little rearrangement of radiosity objects in the scene, the same radiosity data may be reused for a number of frames, making radiosity an effective way to improve on the flatness of ray casting, without seriously impacting the overall rendering time-per-frame.

Because of this, radiosity has become the leading real-time rendering method, and has been used from beginning-to-end to create a large number of well-known recent feature-length animated 3D-cartoon films.

Ray tracing

Ray tracing
Ray tracing

In computer graphics, ray tracing is a technique for generating an digital image by tracing the path of light through pixel in an . The technique is capable of producing a very high degree of photorealism; usually higher than that of typical scanline rendering methods, but at a greater computation time....
 aims to simulate the natural flow of light, interpreted as particles. Often, ray tracing methods are utilized to approximate the solution to the rendering equation
Rendering equation

In computer graphics, the rendering equation is an integral equation in which the equilibrium radiance leaving a point is given as the sum of emitted plus reflected radiance under a geometric optics approximation....
 by applying Monte Carlo methods to it. Some of the most used methods are Path Tracing
Path Tracing

Path tracing is a photorealistic computer graphics rendering technique by James Kajiya when he presented his paper on the rendering equation in the 1980s....
, Bidirectional Path Tracing, or Metropolis Light Transport
Metropolis light transport

This SIGGRAPH 1997 paper by Eric Veach and Leonidas J. Guibas describes an application of a variant of the Monte Carlo method called the Metropolis-Hastings algorithm to the rendering equation for generating images from detailed physical descriptions of three dimensional scenes....
, but also semi realistic methods are in use, like Whitted Style Ray Tracing, or hybrids. While most implementations let light propagate on straight lines, applications exist to simulate relativistic spacetime effects.

In a final, production quality rendering of a ray traced work, multiple rays are generally shot for each pixel, and traced not just to the first object of intersection, but rather, through a number of sequential 'bounces', using the known laws of optics such as "angle of incidence equals angle of reflection" and more advanced laws that deal with refraction and surface roughness.

Once the ray either encounters a light source, or more probably once a set limiting number of bounces has been evaluated, then the surface illumination at that final point is evaluated using techniques described above, and the changes along the way through the various bounces evaluated to estimate a value observed at the point of view. This is all repeated for each sample, for each pixel.

In distribution ray tracing, at each point of intersection, multiple rays may be spawned. In path tracing
Path Tracing

Path tracing is a photorealistic computer graphics rendering technique by James Kajiya when he presented his paper on the rendering equation in the 1980s....
, however, only a single ray or none is fired at each intersection, utilizing the statistical nature of Monte Carlo
Monte Carlo

Monte Carlo is one of Monaco's various administrative areas, sometimes erroneously believed to be a town or the country's capital. The official capital is Monaco-Ville and covers all quarters of the territory....
 experiments.

As a brute-force method, ray tracing has been too slow to consider for real-time, and until recently too slow even to consider for short films of any degree of quality, although it has been used for special effects sequences, and in advertising, where a short portion of high quality (perhaps even photorealistic
Photorealism

Photorealism is the genre of painting based on making a painting of a photograph. The term is primarily applied to paintings from the United States photorealism art movement that began in the late 1960s, early 1970s....
) footage is required.

However, efforts at optimizing to reduce the number of calculations needed in portions of a work where detail is not high or does not depend on ray tracing features have led to a realistic possibility of wider use of ray tracing. There is now some hardware accelerated ray tracing equipment, at least in prototype phase, and some game demos which show use of real-time software or hardware ray tracing.

Optimization


Optimizations used by an artist when a scene is being developed

Due to the large number of calculations, a work in progress is usually only rendered in detail appropriate to the portion of the work being developed at a given time, so in the initial stages of modeling, wireframe and ray casting may be used, even where the target output is ray tracing with radiosity. It is also common to render only parts of the scene at high detail, and to remove objects that are not important to what is currently being developed.

Common optimizations for real time rendering

For real-time, it is appropriate to simplify one or more common approximations, and tune to the exact parameters of the scenery in question, which is also tuned to the agreed parameters to get the most 'bang for the buck'.

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
Continuous function

In mathematics, a continuous function is a function for which, intuitively, small changes in the input result in small changes in the output. Otherwise, a function is said to be discontinuous....
 from image space to colors by using a finite number of pixels. As a consequence of the Nyquist theorem, the scanning frequency must be twice the dot rate, which is proportional to image resolution
Image resolution

Image resolution describes the detail an holds. The term applies equally to digital images, film images, and other types of images. Higher resolution means more image detail....
. In simpler terms, this expresses the idea that an image cannot display details smaller than one pixel.

If a naive rendering algorithm is used, high frequencies in the image function will cause ugly aliasing
Aliasing

In statistics, signal processing, computer graphics and related disciplines, aliasing refers to an effect that causes different continuous signals to become indistinguishable when sampling ....
 to be present in the final image. Aliasing typically manifests itself as jaggies
Jaggies

"Jaggies" is the informal name for aliasing artifacts in raster images, often caused by non-linear mixing effects producing high-frequency components and/or missing or poor anti-aliasing filtering prior to sampling....
, 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 filter the image function to remove high frequencies, a process called antialiasing.

Academic core

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.

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 (Lo) is the sum of the emitted light (Le) and the reflected light. The reflected light being the sum of the incoming light (Li) 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
Bidirectional reflectance distribution function

The bidirectional reflectance distribution function is a 4-dimensional function that defines how light is reflected at an opaque surface. The function takes an incoming light direction, , and outgoing direction, , both defined with respect to the surface normal , and returns the ratio of reflected radiance exiting along to the irradiance...
 (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 be BRDFs.

Geometric optics

Rendering is practically exclusively concerned with the particle aspect of light physics — known as geometric optics. 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
Compact Disc

A Compact Disc is an optical disc used to store Data , originally developed for storing digital audio. The CD, available on the market since October 1982, remains the standard physical medium for sale of commercial Sound recording and reproduction to the present day....
 and DVD
DVD

DVD, also known as "Digital Versatile Disc" or "Digital Video Disc,"is a popular optical disc data storage device media format. Its main uses are video and data storage....
s — and polarisation — as seen in LCDs
Liquid crystal display

A liquid crystal display is an Electro-optic modulator shaped into a thin, flat panel made up of any number of color or monochrome pixels filled with liquid crystals and arrayed in front of a Light#Light sources or reflector....
. 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 an almost infinite 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 doesn't 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 won't be noticeable. This related subject is tone mapping
Tone mapping

Tone mapping is a technique used in and computer graphics to map a set of colours to another; often to approximate the appearance of high dynamic range images in media with a more limited dynamic range....
.

Mathematics used in rendering includes: linear algebra
Linear algebra

Linear algebra is the branch of mathematics concerned with the study of Euclidean vectors, vector spaces , linear maps , and system of linear equations....
, calculus
Calculus

Calculus is a branch of mathematics that includes the study of limit , derivatives, integrals, and infinite series, and constitutes a major part of modern university education....
, numerical mathematics
Numerical analysis

Numerical analysis is the study of algorithms for the problems of continuous mathematics .One of the earliest mathematical writings is the Babylonian tablet YBC 7289, which gives a sexagesimal numerical approximation of , the length of the diagonal in a unit square....
, signal processing
Digital signal processing

Digital signal processing is concerned with the representation of the signal s by a sequence of numbers or symbols and the processing of these signals....
, monte carlo
Monte Carlo method

Monte Carlo methods are a class of computational algorithms that rely on repeated random sampling to compute their results. Monte Carlo methods are often used when computer simulation physics and mathematics systems....
.

Rendering for movies often takes place on a network of tightly connected computers known as a render farm
Render farm

A render farm is a computer cluster built to Rendering computer-generated imagery , typically for film and television visual effects, using off-line batch processing....
.

The current state of the art
State of the art

The state of the art is the highest level of development, as of a device, technique, or scientific field, achieved at a particular time. It also applies to the level of development reached at any particular time usually as a result of modern methods....
 in 3-D image description for movie creation is the Mental Ray
Mental Ray

mental ray is a production-quality rendering application developed by Mental Images . Mental Images was bought in December 2007 by Nvidia....
 scene description language designed at mental images and the RenderMan shading language
Shading language

A shading language is a special programming language adapted to easily map on shader programming. Those kind of languages usually have special data types like color and normal....
 designed at Pixar
Pixar

Pixar Animation Studios is a CGI animation production company based in Emeryville, California, United States. To date, the studio has earned twenty-two Academy Awards, four Golden Globes, and three Grammy, among many other awards, acknowledgments and achievements....
. (compare with simpler 3D fileformats such as VRML
VRML

VRML is a standard file format for representing 3-D computer graphics interactive vector graphics, designed particularly with the World Wide Web in mind....
 or APIs
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 such as OpenGL
OpenGL

OpenGL is a standard specification defining a cross-language cross-platform Application programming interface for writing applications that produce 2D computer graphics and 3D computer graphics....
 and DirectX
DirectX

Microsoft DirectX is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms....
 tailored for 3D hardware accelerators).

Other renderers (including proprietary ones) can and are sometimes used, but most other renderers tend to miss one or more of the often needed features like good texture filtering, texture caching, programmable shaders, highend geometry types like hair, subdivision or nurbs surfaces with tesselation on demand, geometry caching, raytracing with geometry caching, high quality shadow mapping, speed or patent-free implementations. Other highly sought features these days may include IPR and hardware rendering/shading.

Chronology of important published ideas

  • 1968 Ray casting
    Ray casting

    Ray casting is the use of ray-surface intersection tests to solve a variety of problems in computer graphics. The term was first used in computer graphics in a 1982 paper by Scott Roth to describe a method for rendering Constructive solid geometry models....
     (Appel, A. (1968). Some techniques for shading machine renderings of solids. Proceedings of the Spring Joint Computer Conference 32, 37–49.)
  • 1970 Scanline rendering
    Scanline rendering

    Scanline rendering is an algorithm for Hidden surface determination#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....
     (Bouknight, W. J. (1970). A procedure for generation of three-dimensional half-tone computer graphics presentations. Communications of the ACM)
  • 1971 Gouraud shading
    Gouraud shading

    Gouraud shading,named after Henri Gouraud , is a method used in computer graphics to simulate the differing effects of light and colour across the surface of an object....
     (Gouraud, H.
    Henri Gouraud (computer scientist)

    Henri Gouraud is a France computer scientist. He is the inventor of Gouraud shading used in computer graphics.During 1964–1967, he studied at ?cole Centrale Paris....
     (1971). Computer display of curved surfaces. IEEE Transactions on Computers 20 (6), 623–629.)
  • 1974 Texture mapping
    Texture mapping

    Texture mapping is a method for adding detail, surface texture, or colour to a computer-generated imagery or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D....
     (Catmull, E.
    Edwin Catmull

    Edwin Catmull, Ph.D. is an Academy Award winning computer scientist and current president of Walt Disney Animation Studios and Pixar Animation Studios....
     (1974). A subdivision algorithm for computer display of curved surfaces. PhD thesis, University of Utah.)
  • 1974 Z-buffering
    Z-buffering

    In computer graphics, z-buffering is the management of image depth coordinates in three-dimensional graphics, usually done in hardware, sometimes in software....
     (Catmull, E.
    Edwin Catmull

    Edwin Catmull, Ph.D. is an Academy Award winning computer scientist and current president of Walt Disney Animation Studios and Pixar Animation Studios....
     (1974). A subdivision algorithm for computer display of curved surfaces. PhD thesis)
  • 1975 Phong shading
    Phong shading

    Phong shading refers to a set of techniques in 3D computer graphics. Phong shading includes a model for the reflection of light from surfaces and a compatible method of estimating pixel colors by interpolation surface normals across rasterized polygons....
     (Phong, B-T
    Bui Tuong Phong

    Bui Tuong Phong was a Vietnamese-born computer graphics researcher and pioneer. His publications are most often referenced using his family name, B?i, which comes before his given name by Vietnamese name convention, but his inventions are remembered under his given name Phong, since it is conventional to address Vietnamese perso...
    . (1975). Illumination for computer generated pictures. Communications of the ACM 18 (6), 311–316.)
  • 1976 Environment mapping (Blinn, J.F., Newell, M.E. (1976). Texture and reflection in computer generated images. Communications of the ACM 19, 542–546.)
  • 1977 Shadow volume
    Shadow volume

    Shadow volume is a technique used in 3D computer graphics to add shadows to a rendered scene. They were first proposed by Franklin C. Crow in 1977 as the geometry describing the 3D shape of the region occluded from a light source....
    s
    (Crow, F.C.
    Franklin C. Crow

    Franklin C. Crow or Frank Crow is a computer scientist who has made important contributions to computer graphics, including some of the first practical anti-aliasing techniques....
     (1977). Shadow algorithms for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1977) 11 (2), 242–248.)
  • 1978 Shadow buffer (Williams, L.
    Lance Williams

    Lance J. Williams is a prominent graphics researcher who made major contributions to texture map prefiltering, shadow rendering algorithms, facial animation, and antialiasing techniques....
     (1978). Casting curved shadows on curved surfaces. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 270–274.)
  • 1978 Bump mapping
    Bump mapping

    Bump mapping is a computer graphics technique where at each pixel, a perturbation to the surface normal of the object being rendering is looked up in a heightmap and applied before the illumination calculation is done ....
     (Blinn, J.F. (1978). Simulation of wrinkled surfaces. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 286–292.)
  • 1980 BSP trees (Fuchs, H.
    Henry Fuchs

    Henry Fuchs is the Federico Gil Professor of Computer Science, Adjunct Professor of Biomedical Engineering, and Adjunct Professor of Radiation oncologist at the University of North Carolina at Chapel Hill....
    , Kedem, Z.M., Naylor, B.F. (1980). On visible surface generation by a priori tree structures. Computer Graphics (Proceedings of SIGGRAPH 1980) 14 (3), 124–133.)
  • 1980 Ray tracing
    Ray tracing

    In computer graphics, ray tracing is a technique for generating an digital image by tracing the path of light through pixel in an . The technique is capable of producing a very high degree of photorealism; usually higher than that of typical scanline rendering methods, but at a greater computation time....
     (Whitted, T. (1980). An improved illumination model for shaded display. Communications of the ACM 23 (6), 343–349.)
  • 1981 Cook shader (Cook, R.L.
    Robert L. Cook

    Robert L. Cook is a computer graphics researcher and developer, and the co-creator of the RenderMan Rendering Computer software. Cook was born in Knoxville, Tennessee and educated at Duke University and Cornell University....
    , Torrance, K.E. (1981). A reflectance model for computer graphics. Computer Graphics (Proceedings of SIGGRAPH 1981) 15 (3), 307–316.)
  • 1983 MIP maps
    Mipmap

    In 3D computer graphics texture filtering, MIP maps are pre-calculated, Optimization collections of images that accompany a main texture, intended to increase rendering speed and reduce aliasing artifacts....
     (Williams, L.
    Lance Williams

    Lance J. Williams is a prominent graphics researcher who made major contributions to texture map prefiltering, shadow rendering algorithms, facial animation, and antialiasing techniques....
     (1983). Pyramidal parametrics. Computer Graphics (Proceedings of SIGGRAPH 1983) 17 (3), 1–11.)
  • 1984 Octree
    Octree

    An octree is a tree data structure in which each internal node has up to eight children. Octrees are most often used to partition a three dimensional space by recursively subdividing it into eight octants....
     ray tracing
    (Glassner, A.S.
    Andrew Glassner

    Andrew S. Glassner is an United States expert in computer graphics, well known in computer graphics community as the originator and editor of the Graphics Gems series and of An Introduction to Ray Tracing....
     (1984). Space subdivision for fast ray tracing. IEEE Computer Graphics & Applications 4 (10), 15–22.)
  • 1984 Alpha compositing
    Alpha compositing

    In computer graphics, alpha compositing is the process of combining an image with a background to create the appearance of partial transparency....
     (Porter, T., Duff, T.
    Tom Duff

    Thomas Douglas Selkirk Duff is a computer programmer. He was born in Toronto, Ontario, Canada and grew up in Toronto and Leaside, Ontario. In 1974 he graduated from the University of Waterloo with a B.Math and, two years later, got an M.Sc....
     (1984). Compositing digital images. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 253–259.)
  • 1984 Distributed ray tracing (Cook, R.L.
    Robert L. Cook

    Robert L. Cook is a computer graphics researcher and developer, and the co-creator of the RenderMan Rendering Computer software. Cook was born in Knoxville, Tennessee and educated at Duke University and Cornell University....
    , Porter, T., Carpenter, L.
    Loren Carpenter

    Loren C. Carpenter is a computer graphics researcher and developer. He is co-founder and chief scientist of Pixar. One of his many inventions is the A-buffer Hidden surface determination algorithm....
     (1984). Distributed ray tracing. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 137–145.)
  • 1984 Radiosity
    Radiosity

    Radiosity is a global illumination algorithm used in 3D computer graphics rendering . Radiosity is an application of the finite element method to solving the rendering equation for scenes with purely diffuse surfaces....
     (Goral, C., Torrance, K.E., Greenberg D.P.
    Donald P. Greenberg

    Donald Peter Greenberg is the Jacob Gould Schurman Professor of Computer Graphics at Cornell University.Greenberg earned his undergraduate and Ph.D....
    , Battaile, B. (1984). Modelling the interaction of light between diffuse surfaces. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 213–222.)
  • 1985 Hemicube radiosity (Cohen, M.F., Greenberg, D.P.
    Donald P. Greenberg

    Donald Peter Greenberg is the Jacob Gould Schurman Professor of Computer Graphics at Cornell University.Greenberg earned his undergraduate and Ph.D....
     (1985). The hemi-cube: a radiosity solution for complex environments. Computer Graphics (Proceedings of SIGGRAPH 1985) 19 (3), 31–40.)
  • 1986 Light source tracing (Arvo, J. (1986). Backward ray tracing. SIGGRAPH 1986 Developments in Ray Tracing course notes)
  • 1986 Rendering equation
    Rendering equation

    In computer graphics, the rendering equation is an integral equation in which the equilibrium radiance leaving a point is given as the sum of emitted plus reflected radiance under a geometric optics approximation....
     (Kajiya, J.
    Jim Kajiya

    Jim Kajiya is a pioneer in the field of computer graphics. He is perhaps best known for the development of the rendering equation.Kajiya received his PhD from the University of Utah in 1979, was a professor at California Institute of Technology from 1979 through 1994, and is currently a researcher at Microsoft Research....
     (1986). The rendering equation. Computer Graphics (Proceedings of SIGGRAPH 1986) 20 (4), 143–150.)
  • 1987 Reyes rendering
    Reyes rendering

    Reyes rendering is a computer software architecture used in 3D computer graphics to rendering photo-realistic images. It was developed in the mid-1980s by Loren Carpenter and Robert L....
     (Cook, R.L.
    Robert L. Cook

    Robert L. Cook is a computer graphics researcher and developer, and the co-creator of the RenderMan Rendering Computer software. Cook was born in Knoxville, Tennessee and educated at Duke University and Cornell University....
    , Carpenter, L.
    Loren Carpenter

    Loren C. Carpenter is a computer graphics researcher and developer. He is co-founder and chief scientist of Pixar. One of his many inventions is the A-buffer Hidden surface determination algorithm....
    , Catmull, E.
    Edwin Catmull

    Edwin Catmull, Ph.D. is an Academy Award winning computer scientist and current president of Walt Disney Animation Studios and Pixar Animation Studios....
     (1987). The reyes image rendering architecture. Computer Graphics (Proceedings of SIGGRAPH 1987) 21 (4), 95–102.)
  • 1991 Hierarchical radiosity (Hanrahan, P.
    Pat Hanrahan

    Pat Hanrahan is a computer graphics researcher, the Canon USA Professor of Computer Science and Electrical Engineering in the Computer Graphics Laboratory at Stanford University....
    , Salzman, D., Aupperle, L. (1991). A rapid hierarchical radiosity algorithm. Computer Graphics (Proceedings of SIGGRAPH 1991) 25 (4), 197–206.)
  • 1993 Tone mapping
    Tone mapping

    Tone mapping is a technique used in and computer graphics to map a set of colours to another; often to approximate the appearance of high dynamic range images in media with a more limited dynamic range....
     (Tumblin, J., Rushmeier, H.E. (1993). Tone reproduction for realistic computer generated images. IEEE Computer Graphics & Applications 13 (6), 42–48.)
  • 1993 Subsurface scattering
    Subsurface scattering

    Subsurface scattering is a mechanism of light transport in which light penetrates the surface of a translucent object, is scattering by interacting with the material, and exits the surface at a different point....
     (Hanrahan, P.
    Pat Hanrahan

    Pat Hanrahan is a computer graphics researcher, the Canon USA Professor of Computer Science and Electrical Engineering in the Computer Graphics Laboratory at Stanford University....
    , Krueger, W. (1993). Reflection from layered surfaces due to subsurface scattering. Computer Graphics (Proceedings of SIGGRAPH 1993) 27 , 165–174.)
  • 1995 Photon mapping
    Photon mapping

    In computer graphics, photon mapping is a two-pass global illumination algorithm developed by Henrik Wann Jensen that solves the rendering equation....
     (Jensen, H.W.
    Henrik Wann Jensen

    Henrik Wann Jensen is a Denmark computer graphics researcher. He is best known for developing the photon mapping technique as the subject of his PhD thesis, but has also done important research in simulating subsurface scattering and the sky....
    , Christensen, N.J. (1995). Photon maps in bidirectional monte carlo ray tracing of complex objects. Computers & Graphics 19 (2), 215–224.)
  • 1997 Metropolis light transport
    Metropolis light transport

    This SIGGRAPH 1997 paper by Eric Veach and Leonidas J. Guibas describes an application of a variant of the Monte Carlo method called the Metropolis-Hastings algorithm to the rendering equation for generating images from detailed physical descriptions of three dimensional scenes....
     (Veach, E., Guibas, L.
    Leonidas J. Guibas

    Leonidas John Guibas is a professor of computer science at Stanford University, where he heads the geometric computation group and is a member of the computer graphics and artificial intelligence laboratories....
     (1997). Metropolis light transport. Computer Graphics (Proceedings of SIGGRAPH 1997) 16 65–76.)
  • 1997 Instant Radiosity (Keller, A. (1997). Instant Radiosity. Computer Graphics (Proceedings of SIGGRAPH 1997) 24, 49–56.)
  • 2002 Precomputed Radiance Transfer
    Precomputed Radiance Transfer

    Precomputed Radiance Transfer is a computer graphics technique used to render a scene in real time with complex light interactions being precomputed to save time....
     (Sloan, P., Kautz, J., Snyder, J. (2002). Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low Frequency Lighting Environments. Computer Graphics (Proceedings of SIGGRAPH 2002) 29, 527–536.)


See also

  • 2D computer graphics
    2D computer graphics

    2D computer graphics is the computer-based generation of digital images—mostly from two-dimensional models and by techniques specific to them....
  • 3D rendering
    3D rendering

    3D rendering is the 3D computer graphics process of automatically converting 3D wire frame models into 2D images with 3D photorealism on a computer....
  • Architectural rendering
    Architectural rendering

    Architectural rendering, or architectural illustration, is the art of creating two-dimensional images showing the attributes of a proposed architecture design....
  • Global illumination
    Global illumination

    Global illumination is a general name for a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes....
  • Graphics pipeline
    Graphics pipeline

    In 3D computer graphics, the terms graphics pipeline or rendering pipeline most commonly refer to the current state of the art method of rasterization-based rendering as supported by commodity graphics hardware....
  • Image-based modeling and rendering
    Image-Based Modeling And Rendering

    In computer graphics and computer vision, image-based modeling and rendering methods rely on a set of two-dimensional images of a scene to generate a three-dimensional model and then rendering some novel views of this scene....
  • Painter's algorithm
    Painter's algorithm

    The painter's algorithm, also known as a priority fill, is one of the simplest solutions to the visibility problem in 3D computer graphics....
  • Pre-rendered
    Pre-rendered

    Pre-rendering is the process in which video footage is not rendering in real-time by the hardware that is outputing or playing back the video. Instead, the video is a recording of a footage that was previously rendered on a different equipment ....
  • Raster image processor
    Raster image processor

    A raster image processor is a component used in a printing system which produces a raster graphics image also known as a bitmap. The bitmap is then sent to a printing device for output....
  • Radiosity
    Radiosity

    Radiosity is a global illumination algorithm used in 3D computer graphics rendering . Radiosity is an application of the finite element method to solving the rendering equation for scenes with purely diffuse surfaces....
  • Ray tracing
    Ray tracing

    In computer graphics, ray tracing is a technique for generating an digital image by tracing the path of light through pixel in an . The technique is capable of producing a very high degree of photorealism; usually higher than that of typical scanline rendering methods, but at a greater computation time....
  • Software rendering
    Software rendering

    In the context of rendering , software rendering refers to a rendering process that is unaided by any specialized hardware, such as a graphics card....
  • Scanline algorithms
    Scanline rendering

    Scanline rendering is an algorithm for Hidden surface determination#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....
     like Reyes
    Reyes rendering

    Reyes rendering is a computer software architecture used in 3D computer graphics to rendering photo-realistic images. It was developed in the mid-1980s by Loren Carpenter and Robert L....
  • Unbiased rendering
  • Vector graphics
    Vector graphics

    Vector graphics is the use of geometrical Primitive s such as point s, line , curves, and shapes or polygon, which are all based upon mathematical equations, to represent s in computer graphics....
  • VirtualGL
    VirtualGL

    VirtualGL is an open source program which redirects the 3D rendering commands from Unix and Linux OpenGL applications to 3D accelerator hardware in a dedicated server and displays the rendered output interactively to a thin client located elsewhere on the network....
  • Virtual model
    Virtual model

    A Virtual Model, in the general sense, is a model of a physical object, be it a person, a room, a house, a city or a planet. This model is a digital description of the object that can be used in a computer simulation or Virtual Reality....
  • Virtual studio
    Virtual studio

    A virtual studio is a television studio that allows the real-time combination of people or other real objects and computer generated environments and objects in a seamless, virtual reality-like manner....
  • Volume rendering
    Volume rendering

    Volume rendering is a technique used to display a 3D projection of a 3D discretely Sampling data set.A typical 3D data set is a group of 2D slice images acquired by a...
  • Z-buffer algorithms
    Z-buffering

    In computer graphics, z-buffering is the management of image depth coordinates in three-dimensional graphics, usually done in hardware, sometimes in software....


Books and summaries

  • Pharr; Humphreys (2004). Physically Based Rendering. Morgan Kaufmann. ISBN 0-12-553180-X.
  • Shirley; Morley (2003). Realistic Ray Tracing (2nd ed.). AK Peters. ISBN 1-56881-198-5.
  • Dutre; Bala; Bekaert (2002). Advanced Global Illumination. AK Peters. ISBN 1-56881-177-2.
  • Akenine-Moller; Haines (2002). Real-time Rendering (2nd ed.). AK Peters. ISBN 1-56881-182-9.
  • Strothotte; Schlechtweg (2002). Non-Photorealistic Computer Graphics. Morgan Kaufmann. ISBN 1-55860-787-0.
  • Gooch; Gooch (2001). Non-Photorealistic Rendering. AKPeters. ISBN 1-56881-133-0.
  • Jensen (2001). Realistic Image Synthesis Using Photon Mapping. AK Peters. ISBN 1-56881-147-0.
  • Blinn (1996). Jim Blinns Corner - A Trip Down The Graphics Pipeline. Morgan Kaufmann. ISBN 1-55860-387-5.
  • Glassner
    Andrew Glassner

    Andrew S. Glassner is an United States expert in computer graphics, well known in computer graphics community as the originator and editor of the Graphics Gems series and of An Introduction to Ray Tracing....
     (1995). Principles Of Digital Image Synthesis. Morgan Kaufmann. ISBN 1-55860-276-3.
  • Cohen; Wallace (1993). Radiosity and Realistic Image Synthesis. AP Professional. ISBN 0-12-178270-0.
  • Foley; Van Dam; Feiner; Hughes (1990). Computer Graphics: Principles And Practice. Addison Wesley. ISBN 0-201-12110-7.
  • Glassner (ed.) (1989). An Introduction To Ray Tracing. Academic Press. ISBN 0-12-286160-4.


External links

  • - An ongoing "online book" written by a group of people who worked in world class CG studios, presented as a series of free lessons on ray tracing & other rendering techniques (with C++ source code).
  • The ACMs special interest group in graphics — the largest academic and professional association and conference.
  • - Ray Tracing News, A newsletter on ray tracing technical matters.
  • List of links to (recent) siggraph papers (and some others) on the web.