Rendering (computer graphics)
What Is Rendering (computer graphics)?
Rendering in computer graphics is the computational process of generating a two-dimensional image from a three-dimensional scene description, accounting for geometry, materials, lighting, and viewpoint. The scene is defined by a collection of geometric primitives, surface reflectance properties, light sources, and a camera model, and the renderer solves the light transport problem to determine the color of every pixel in the output image. Rendering sits at the convergence of applied mathematics, physics simulation, and computer hardware design, and its outputs range from interactive video frames generated at real-time frame rates to photorealistic still images requiring hours of computation on large compute clusters.
Rendering is also called image synthesis because it synthesizes a visual result from a numerical description. The field has evolved from simple wireframe outlines in the 1960s through flat shading, Gouraud and Phong shading models in the 1970s and 1980s, to physically based rendering pipelines that simulate spectral light transport with high physical accuracy.
Rasterization
Rasterization converts the three-dimensional geometric representation of a scene into a grid of pixels by projecting primitives, most commonly triangles, onto the image plane and determining which pixels they cover. For each covered pixel, a fragment shader evaluates surface color using lighting equations, texture maps, and material parameters. Rasterization is highly amenable to hardware acceleration because its per-triangle and per-pixel operations are data-parallel and map well to graphics processing unit (GPU) architectures. The process solves the visibility problem, identifying which surface is closest to the camera at each pixel, using a depth buffer that tracks the minimum depth value seen for each screen position. NVIDIA's developer documentation on ray tracing describes rasterization as the dominant paradigm for real-time interactive graphics precisely because of its predictable computational cost at fixed triangle counts.
Ray Tracing and Global Illumination
Ray tracing computes the color of each pixel by tracing the path of light rays from the camera through the scene and back to light sources, evaluating how rays interact with surfaces through reflection, refraction, and absorption. A key advantage over rasterization is that ray tracing naturally captures global illumination effects: soft shadows from area lights, accurate reflections, caustics, and indirect illumination bouncing between surfaces. Path tracing, a Monte Carlo variant of ray tracing, stochastically samples multiple light paths per pixel and averages the results to approximate the full rendering equation introduced by James Kajiya in 1986. This approach is the basis of most offline rendering for film and visual effects. The physics of ray-based rendering are explained in depth at Scratchapixel's overview of the ray tracing rendering technique, which covers the mathematical formulation of ray-surface intersection and shading evaluation.
Real-Time Rendering
Real-time rendering targets frame rates of 30 to 120 frames per second for interactive applications including games and simulation. It relies on rasterization as the primary visibility solution and augments it with approximate global illumination techniques such as screen-space ambient occlusion, precomputed irradiance probes, and, increasingly, hardware-accelerated ray tracing for reflections and shadows. Modern GPU architectures from NVIDIA's Turing generation onward include dedicated RT cores for bounding-volume-hierarchy traversal and triangle intersection, enabling hybrid pipelines that combine rasterized primary visibility with ray-traced secondary effects at interactive rates. Real-time rendering also depends on level-of-detail systems, texture streaming, and geometry culling to maintain frame rate budgets. An introduction to real-time ray tracing surveys the algorithmic and hardware infrastructure that makes GPU-accelerated ray tracing viable in interactive contexts.
Applications
Rendering in computer graphics has applications across a wide range of industries, including:
- Feature film and visual effects production using offline path tracing
- Video game development with hybrid rasterization and ray tracing pipelines
- Architectural visualization and design review
- Product design and virtual prototyping in automotive and consumer electronics
- Medical imaging and surgical simulation with volume rendering
- Scientific visualization of fluid dynamics, astrophysical simulations, and molecular structures