Skip to content
— CH. 1 · WHAT RENDERING IS —

Rendering (computer graphics)

12 min listen · Ch. 1 of 6
6 sections
  • Rendering, in computer graphics, is the process of generating an image from input data such as 3D models. The word itself predates computers. In one of its older senses, it described what an artist did when depicting a real or imaginary thing on paper or canvas. The finished artwork was also called a rendering. Today, to render commonly means to use a computer to generate an image from a precise specification, often created by artists working in interactive 3D modeling software.

    A software application or component that performs rendering is called a rendering engine, render engine, graphics engine, or simply a renderer. The images produced range from still photographs to frames for films and video games. Rendering draws from optics, the study of visual perception, mathematics, and software engineering. Its applications include video games, simulators, visual effects for films and television, design visualization, and medical diagnosis.

    Two fundamentally different modes exist. Real-time rendering generates and displays images immediately, fast enough to give the impression of motion or animation. Offline rendering, sometimes called pre-rendering, generates frames for later viewing, allowing slower processes that produce higher quality. Interactive applications like games must primarily use real-time rendering, though they may incorporate pre-rendered content alongside it.

    Historically, this field was called image synthesis. Today that term more likely refers to AI image generation. The term neural rendering is sometimes applied when a neural network is the primary means of generating an image, while still providing some degree of control over the output.

  • A large proportion of computer graphics research has worked toward producing images that resemble photographs. Fundamental techniques that make photorealism possible were invented in the 1980s, but at the end of that decade, photorealism for complex scenes was still considered a distant goal. Today it is routinely achievable for offline rendering, though it remains difficult for real-time rendering.

    Realistic rendering must simulate how light travels from light sources, is reflected, refracted, and scattered by objects in a scene, passes through a camera lens, and finally reaches a film or sensor. The physics used in these simulations is primarily geometrical optics, where particles of light follow lines called rays. In some situations, such as rendering thin films like the surface of soap bubbles, the wave nature of light must also be taken into account.

    Effects that may need to be simulated include shadows with sharp or soft edges; reflections in mirrors and rough surfaces; refraction, the bending of light when it crosses boundaries between materials like air and glass; volumetric effects such as absorption and scattering through partially transparent substances; and caustics, the bright patches sometimes with distinct filaments that result when light is reflected or refracted before illuminating an object.

    For true photorealism, the camera must also be simulated. The thin lens approximation allows combining perspective projection with depth of field and bokeh emulation. Motion blur is often simulated when film or video frames are being rendered. Realistic materials such as marble, plant leaves, and human skin require simulating subsurface scattering, where light travels into the material, is scattered, and then exits again. Mathematical descriptions of how surfaces reflect light, called reflectance models or bidirectional reflectance distribution functions, are the formal basis for all of this work.

  • Real-time rendering relies on high-performance rasterization algorithms that process a list of shapes and determine which pixels each shape covers. Three-dimensional animated films were rendered by rasterization before ray tracing and path tracing became practical enough to take over that role.

    The rasterization pipeline combines geometry processing with pixel processing that computes the RGB color values placed in the framebuffer for display. Its main tasks include determining which pixels are covered by each shape, blending colors and depths defined at vertices using methods like barycentric coordinates, determining which parts of shapes are hidden by other shapes, running a pixel shader or fragment shader for each covered pixel, smoothing edges through anti-aliasing, and blending overlapping transparent shapes.

    Hidden surface removal has a long history. Early computer graphics used the painter's algorithm, which sorts shapes by depth and renders them from back to front. Depth sorting was later incorporated directly into scanline rendering. The z-buffer algorithm performs depth comparisons by storing a depth value for each pixel in the framebuffer. A pixel is only covered by a shape if that shape's z value indicates it is closer to the camera than what the buffer currently holds. The z-buffer requires additional memory, which was an expensive resource when it was invented, but simplifies the rasterization code and permits multiple rendering passes.

    Until relatively recently, Pixar used rasterization for rendering its animated films. Its Reyes rendering system in RenderMan software was optimized for rendering very small, pixel-sized polygons, and incorporated stochastic sampling techniques more typically associated with ray tracing. Today, even low-power mobile processors typically incorporate 3D graphics acceleration features.

  • One of the simplest ways to render a 3D scene is to test whether a ray starting at the viewpoint intersects any geometric shape in the scene. 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 toward a light source, and tried rendering the density of illumination by casting random rays from the light source toward an object, plotting the intersection points in a way similar to the later technique called photon mapping.

    Classical ray tracing, also called Whitted-style or recursive ray tracing, extends the basic approach to render mirrors and transparent objects. When a ray traced backward from the camera hits a mirror, the reflection formula from geometric optics determines where the reflected ray came from. When it hits a transparent surface, Snell's law computes the refracted direction. The result is a branching tree of rays that must be traced recursively. Films such as Shrek 2 and Monsters University used distribution ray tracing or path tracing to precompute indirect illumination before rendering with rasterization.

    Path tracing was proposed and named in 1986 by Jim Kajiya in the same paper that introduced the rendering equation. Kajiya observed that much of the complexity of distributed ray tracing could be avoided by tracing only a single path from the camera at a time. Monster House, the first feature film rendered entirely using path tracing, was not released until 20 years later. The Arnold renderer, first released in 1998, proved that path tracing was practical for film rendering and that demand existed for unbiased, physically based rendering in the film industry. The popular open source software Blender uses path tracing in its Cycles renderer.

    Advances in GPU technology have made real-time ray tracing possible in games, though it is currently almost always used in combination with rasterization. Ray tracing support is included in recent versions of graphics APIs used by games, including DirectX, Metal, and Vulkan. Ray tracing has also been used to render simulated black holes and the appearance of objects moving at close to the speed of light, by taking spacetime curvature and relativistic effects into account.

  • 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, or diffuse interreflection, and rendering it realistically is the problem of global illumination. Rasterization and basic ray tracing can only roughly approximate indirect light, typically by adding a uniform ambient lighting amount chosen by the artist.

    The original radiosity method was first proposed in 1984. In this classical form, surfaces and lights in the scene are split into pieces called patches, a process called meshing that makes it a finite element method. The fractions of light transferred between patches are called form factors or view factors, terms first used in engineering to model radiative heat transfer. These fractions are assembled into a matrix equation that is solved using methods from linear algebra.

    The large size of the matrices required for classical radiosity causes problems for realistic scenes. Practical implementations may use Jacobi or Gauss-Seidel iterations, which is equivalent to simulating light propagation one bounce at a time until the remaining light is insignificant. An important improvement is hierarchical radiosity, which uses a coarser mesh for simulating light transfer between distant surfaces and adaptively subdivides patches as needed, allowing radiosity to be applied to much larger and more complex scenes.

    For real-time rendering, precomputed irradiance values can be 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 walkthroughs of building interiors after computing the lighting. Radiosity is considered a physically based method, though it often assumes all surfaces are opaque and perfectly Lambertian, which reduces realism and limits its applicability compared to path tracing.

  • As of 2003, machine learning techniques were being used in other areas of computer graphics, including texture synthesis, fitting surfaces to point clouds, and fitting curves to motion capture data. The use of machine learning for rendering expanded as GPUs capable of quickly evaluating neural networks, especially convolutional neural networks, became available.

    One of the most widely used applications of machine learning in rendering is denoising of path traced images. In practice, most path tracing now likely uses such a denoiser. Neural networks trained on pairs of noisy and low-noise images can use data such as surface normals and albedo in addition to the rendered image to reduce blurring and preserve textures. They are effective at removing the scattered bright pixels called fireflies that frequently occur in path tracing. Denoisers specialized for real-time rendering can work with very low sample counts and improve temporal coherence to reduce flickering.

    Neural radiance fields, or NeRFs, encode radiance at all points in a volume and use evaluation of this approximation as the primary rendering method. For any useful resolution, the amount of data in a radiance field is so large that it must be approximated, typically using neural networks trained on video frames or photographs of a scene taken from different angles. Algorithms related to neural networks have also been used to represent scenes as 3D Gaussians, using fuzzy partially-transparent blobs of varying dimensions and orientations rather than points. This technique, called 3D Gaussian splatting, appeared in 2023 on the chronology of rendering techniques.

    By combining denoising and hardware ray tracing acceleration, it is now practical to use path tracing for real-time rendering. Spatiotemporal reservoir resampling, known as ReSTIR, aims to improve the quality of real-time path tracing by reusing samples from previous frames and adjacent pixels. Eric Veach's 1997 PhD thesis summarized and expanded much of the earlier work on path sampling methods, helping raise interest in path tracing across the computer graphics research community.

Common questions

What is rendering in computer graphics?

Rendering in computer graphics is the process of generating an image from input data such as 3D models. A software component that performs this task is called a rendering engine, render engine, graphics engine, or renderer. The field draws from optics, mathematics, and software engineering, with applications in video games, film visual effects, medical diagnosis, and design visualization.

What is the difference between real-time and offline rendering?

Real-time rendering generates and displays images immediately, fast enough to create the impression of motion or animation, as required by video games. Offline rendering, also called pre-rendering, generates frames for later viewing and can use slower, higher-quality methods. Interactive applications must primarily use real-time rendering, though they may incorporate pre-rendered content.

What is path tracing and when was it invented?

Path tracing is a rendering technique that uses Monte Carlo integration to compute the average brightness of sampled light paths traveling from a light source to the camera. It was proposed and named in 1986 by Jim Kajiya in the same paper that introduced the rendering equation. Monster House, the first feature film rendered entirely using path tracing, was released about 20 years after Kajiya's original proposal.

How does radiosity work in 3D rendering?

Radiosity, first proposed in 1984, splits surfaces and lights in a scene into patches and computes form factors representing the fractions of light transferred between each pair of patches. These fractions are assembled into a matrix equation solved using linear algebra. The resulting irradiance values can be precomputed and stored in textures called irradiance maps for use in real-time rendering.

What is the rendering equation and who created it?

The rendering equation was introduced in 1986 by Jim Kajiya in the same paper that proposed path tracing. It provided ray tracing with a rigorous mathematical foundation by expressing how light is emitted, reflected, and propagated in an environment. Path tracing was introduced as a statistically unbiased method for solving this equation.

How are neural networks used in computer graphics rendering?

Neural networks are widely used for denoising path-traced images, reducing the number of sample paths needed to achieve acceptable quality. They are also used to encode bidirectional reflectance distribution functions and to represent neural radiance fields, which encode the color and intensity of light at all points in a volume. As of 2023, 3D Gaussian splatting emerged as a neural-network-adjacent approach representing scenes as fuzzy, partially-transparent blobs rather than discrete points.

All sources

139 references cited across the entry

  1. 1Oxford English DictionaryMarch 2024
  2. 2Oxford English DictionaryJune 2024
  3. 4High-Resolution Image Synthesis with Latent Diffusion ModelsRobin Rombach et al. — June 2022
  4. 5JournalState of the Art on Neural RenderingA. Tewari et al. — May 2020
  5. 6JournalTheory for Off-Specular Reflection from Roughened SurfacesK. E. Torrance et al. — September 1967
  6. 7JournalContinuous Shading of Curved SurfacesH. Gouraud — June 1971
  7. 9JournalIllumination for computer generated picturesBui Tuong Phong — June 1975
  8. 10JournalTexture and reflection in computer generated imagesJ.F. Blinn et al. — 1976
  9. 11JournalModels of light reflection for computer synthesized picturesJames F. Blinn — 20 July 1977
  10. 12JournalShadow algorithms for computer graphicsFranklin C. Crow — 1977
  11. 13BookProceedings of the 5th annual conference on Computer graphics and interactive techniquesLance Williams — 1978
  12. 14JournalSimulation of wrinkled surfacesJames F. Blinn — 1978
  13. 15BookProceedings of the 7th annual conference on Computer graphics and interactive techniques - SIGGRAPH '80Henry Fuchs et al. — 1980
  14. 16JournalAn improved illumination model for shaded displayT. Whitted — 1980
  15. 17JournalA reflectance model for computer graphicsRobert L. Cook et al. — 1981
  16. 18BookProceedings of the 10th annual conference on Computer graphics and interactive techniquesLance Williams — 1983
  17. 19JournalSpace subdivision for fast ray tracingA.S. Glassner — 1984
  18. 20BookProceedings of the 11th annual conference on Computer graphics and interactive techniquesThomas Porter et al. — 1984
  19. 21BookProceedings of the 11th annual conference on Computer graphics and interactive techniquesRobert L. Cook et al. — 1984
  20. 22JournalModeling the interaction of light between diffuse surfacesCindy M. Goral et al. — 1984
  21. 23BookProceedings of the 12th annual conference on Computer graphics and interactive techniques - SIGGRAPH '85Tomoyuki Nishita et al. — 1985
  22. 24JournalThe hemi-cube: A radiosity solution for complex environmentsMichael F. Cohen et al. — 1985
  23. 25JournalA ray tracing solution for diffuse interreflectionGregory J. Ward et al. — 1988
  24. 26BookProceedings of the 21st annual conference on Computer graphics and interactive techniques - SIGGRAPH '94Gregory J. Ward — 1994
  25. 27JournalAn efficient antialiasing techniqueXiaolin Wu — 1991
  26. 28BookGraphics Gems IIWu, Xiaolin — Morgan Kaufmann — 1991
  27. 29BookProceedings of the 18th annual conference on Computer graphics and interactive techniquesPat Hanrahan et al. — 1991
  28. 30BookProceedings of the 21st annual conference on Computer graphics and interactive techniques - SIGGRAPH '94Michael Oren et al. — 1994
  29. 31JournalTone reproduction for realistic imagesJ. Tumblin et al. — November 1993
  30. 32BookProceedings of the 20th annual conference on Computer graphics and interactive techniquesPat Hanrahan et al. — 1993
  31. 33Bi-directional path tracingEric Lafortune et al. — December 1993
  32. 34BookProceedings of the 21st annual conference on Computer graphics and interactive techniques - SIGGRAPH '94Gavin Miller — 1994
  33. 35JournalPhoton maps in bidirectional Monte Carlo ray tracing of complex objectsHenrik Wann Jensen et al. — March 1995
  34. 36BookProceedings of the 22nd annual conference on Computer graphics and interactive techniques - SIGGRAPH '95Eric Veach et al. — 1995
  35. 37BookProceedings of the 24th annual conference on Computer graphics and interactive techniques - SIGGRAPH '97Eric Veach et al. — 1997
  36. 38BookProceedings of the 24th annual conference on Computer graphics and interactive techniques - SIGGRAPH '97Alexander Keller — 1997
  37. 39BookProceedings of the 29th annual conference on Computer graphics and interactive techniquesPeter-Pike Sloan et al. — 2002
  38. 40JournalA Simple and Robust Mutation Strategy for the Metropolis Light Transport AlgorithmCsaba Kelemen et al. — September 2002
  39. 41JournalA data-driven reflectance modelWojciech Matusik et al. — 2003
  40. 42JournalLightcuts: A scalable approach to illuminationBruce Walter et al. — 2005
  41. 43JournalRadiance Caching for Efficient Global Illumination ComputationJ. Krivanek et al. — September 2005
  42. 44BookACM SIGGRAPH Asia 2009 papersToshiya Hachisuka et al. — 2009
  43. 45JournalLight transport simulation with vertex connection and mergingIliyan Georgiev et al. — 2012
  44. 46JournalA path space extension for robust light transport simulationToshiya Hachisuka et al. — 2012
  45. 47RenderMan 26 Documentation: PxrVCMPixar — 16 July 2024
  46. 49JournalGradient-domain metropolis light transportJaakko Lehtinen et al. — 21 July 2013
  47. 50JournalMultiplexed metropolis light transportToshiya Hachisuka et al. — 27 July 2014
  48. 51BookComputer Vision – ECCV 2014Matthew M. Loper et al. — 2014
  49. 52JournalManifold Next Event EstimationJohannes Hanika et al. — 27 July 2015
  50. 54JournalPractical Path Guiding for Efficient Light-Transport SimulationThomas Müller et al. — July 2017
  51. 55JournalSpatiotemporal reservoir resampling for real-time ray tracing with dynamic direct lightingBenedikt Bitterli et al. — 31 August 2020
  52. 56BookReal-Time RenderingTomas Akenine-Möller et al. — A K Peters/CRC Press — 2018
  53. 57BookProceedings of the April 30--May 2, 1968, spring joint computer conference on - AFIPS '68 (Spring)Arthur Appel — 1968
  54. 58Backward ray tracing (course notes)James Arvo — August 1986
  55. 59ThesisHierarchical and stochastic algorithms for radiosityPhilippe Bekaert — Department of Computer Science, KU Leuven — 1999
  56. 66JournalA procedure for generation of three-dimensional half-tone computer graphics presentationsW. J. Bouknight — 1970
  57. 67BookFluid Simulation for Computer GraphicsRobert Bridson — A K Peters/CRC Press — 2015
  58. 68BookThe Art and Science of Digital CompositingRon Brinkmann — Morgan Kaufmann — 2008
  59. 69JournalThe A-buffer, an antialiased hidden surface methodLoren Carpenter — July 1984
  60. 70ThesisA Subdivision Algorithm for Computer Display of Curved SurfacesEdwin Catmull — University of Utah — December 1974
  61. 71JournalThe Path to Path-Traced MoviesWojciech Jarosz et al. — 2016
  62. 72JournalStructuring a VLSI System ArchitectureJames H. Clark — 1980
  63. 73BookRadiosity and Realistic Image SynthesisMichael F. Cohen et al. — Academic Press — 1993
  64. 74JournalThe Reyes image rendering architectureRobert L. Cook et al. — August 1987
  65. 75BookProduction Pipeline Fundamentals for Film and GamesRenee Dunlop — Focal Press — 2014
  66. 77BookAdvanced Global IlluminationPhilip Dutré et al. — A K Peters/CRC Press — 2015
  67. 78Evans & Sutherland Multi-Picture System (brochure)Evans & Sutherland Corporation. — 1979
  68. 79BookFundamentals of Interactive Computer GraphicsJames D. Foley et al. — Addison-Wesley Publishing Company, Inc. — 1982
  69. 80BookComputer ArchitectureCharles Fox — No Starch Press — 2024
  70. 81BookComputer Graphics from ScratchGabriel Gambetta — No Starch Press — 2021
  71. 82BookTechnical Drawing with Engineering Graphics, 16th EditionFrederick E. Giesecke et al. — Pearson Education, Inc. — 2023
  72. 83BookPrinciples of digital image synthesisAndrew S. Glassner — Morgan Kaufmann Publishers, Inc. — 2011
  73. 84JournalHAWS: Accelerating GPU Wavefront Execution through Selective Out-of-order ExecutionXun Gong et al. — 2019
  74. 85BookProceedings of the 11th annual conference on Computer graphics and interactive techniquesCindy M. Goral et al. — 1984
  75. 87BookRelativistic ray-tracing: simulating the visual appearance of rapidly moving objectsAndrew Howard et al. — University of Melbourne, Department of Computer Science — 1995
  76. 88BookComputer graphics: principles and practiceJohn F. Hughes et al. — Addison-Wesley — 2014
  77. 89BookAn Introduction to Ray TracingAndrew S. Glassner — ACADEMIC PRESS — April 11, 2019
  78. 93JournalThe rendering equationJames T. Kajiya — 1986
  79. 95Khronos Blog: Ray Tracing In VulkanThe Khronos Group Inc — December 15, 2020
  80. 96BookGPU Zen 3: Advanced Rendering TechniquesJakub Knapik et al. — Black Cat Publishing Inc. — 2024
  81. 98Measuring GPU Memory LatencyChester Lam — Chips and Cheese — 16 April 2021
  82. 99BookFundamentals of Computer GraphicsSteve Marschner et al. — CRC Press — 2022
  83. 100BookReal World Print ProductionClaudia McCue — Peachpit Press — 2006
  84. 101SVG: Scalable Vector GraphicsMozilla Corporation — 7 August 2024
  85. 103JournalVDB: High-resolution sparse volumes with dynamic topologyKen Museth — June 2013
  86. 105NES Dev Wiki: PPUnesdev wiki
  87. 106NVIDIA DLSS 3NVIDIA Corporation
  88. 109About OpenVDBAcademy Software Foundation
  89. 110ThesisBi-directional Path Tracing on GPUVilém Otte — Masaryk University, Brno — 2015
  90. 111pbrt-v4 Input File FormatMatt Pharr et al. — 2023
  91. 112pbrt-v4 User's GuideMatt Pharr et al. — 2023
  92. 113Famous Graphics Chips: Geometry EngineJon Peddie — Institute of Electrical and Electronics Engineers (IEEE) — 24 September 2020
  93. 114BookProceedings of the 27th annual conference on Computer graphics and interactive techniques - SIGGRAPH '00Mark S. Peercy et al. — 2000
  94. 115BookPhysically Based Rendering: From Theory to ImplementationMatt Pharr et al. — Morgan Kaufmann — November 25, 2016
  95. 116BookPhysically Based Rendering: From Theory to ImplementationMatt Pharr et al. — The MIT Press — March 28, 2023
  96. 117ThesisIllumination for Computer-Generated ImagesTường-Phong Bùi — University of Utah — 1973
  97. 118PowerVR at 25: The story of a graphics revolutionDavid Harold — Imagination Technologies Limited — 11 August 2017
  98. 119BookPostScript Language Reference ManualAdobe Systems Incorporated — Addison-Wesley Publishing Company — 1990
  99. 120BookRendering for BeginnersSaty Raghavachary — Focal Press — 2005
  100. 122BookRay Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIsMartin Stich — Apress — February 25, 2019
  101. 123BookRay Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIsEric Haines et al. — Apress — February 25, 2019
  102. 124BookRay Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIsJakub Boksansky et al. — Apress — February 25, 2019
  103. 125BookRay Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIsEdward Liu et al. — Apress — February 25, 2019
  104. 126BookReal-Time RenderingTomas Akenine-Möller et al. — A K Peters/CRC Press — August 6, 2018
  105. 127JournalSeeing relativity-I: Ray tracing in a Schwarzschild metric to explore the maximal analytic extension of the metric and making a proper rendering of the starsRiazuelo Alain — March 2019
  106. 130JournalCoherent metropolis light transport on the GPU using speculative mutationsMartin Schmidt et al. — 2016
  107. 131JournalSpecial Effects for Star Trek II: The Genesis DemoAlvy Ray Smith — October 1982
  108. 133ThesisRobust Monte Carlo methods for light transport simulationEric Veach — Stanford University — 1997
  109. 134Compositing and Blending Level 1W3C — 21 March 2024
  110. 135Filter Effects Module Level 1W3C — 18 December 2018
  111. 136Scalable Vector Graphics (SVG) 2W3C — 4 October 2018
  112. 137ReportA hidden line algorithm for halftone picture representationJohn E. Warnock — 20 May 1968
  113. 138ReportA hidden surface algorithm for computer generated halftone picturesJohn Warnock — University of Utah — June 1969
  114. 139A Real Time Visible Surface AlgorithmGary Scott Watkins — University of Utah — June 1970
  115. 140Evans_and_Sutherland Digistar-IIWorldwide Planetariums Database
  116. 142BookOpenGL SuperBibleRichard S. Wright et al. — Sams Publishing — 2004