Rendering is the computational process of generating a visual representation from structured input data. In computer graphics, that input commonly consists of a scene containing geometry, materials, textures, lights, cameras and other properties, while the output is frequently a two-dimensional image or sequence of images. Rendering can also refer more broadly to converting one representation into another visible or displayable representation, but in graphics its meaning usually concerns image synthesis.
A renderer determines how scene elements should appear from a particular viewpoint and calculates colour, visibility, shading and other image properties according to the selected rendering method. Rendering can be performed in real time, where an image must be generated within a tight frame-time budget, or offline, where considerably more computation can be spent on each frame. It is therefore an operation within a graphics workflow rather than synonymous with modelling, animation or image editing.
Rendering methods differ substantially in how they calculate the final image. Rasterisation converts geometric primitives into screen-space fragments and evaluates their appearance using a graphics pipeline, making it particularly suitable for interactive applications because visibility and shading can be computed efficiently. Ray-based methods trace lines or rays through a scene to determine interactions with surfaces, allowing reflections, refractions and other optical effects to be represented more naturally.
Path-based methods extend this concept by statistically sampling many possible light transport paths and are widely used for physically based offline rendering. Other techniques include scanline rendering, radiosity-oriented approaches, voxel rendering and specialised volume-rendering algorithms. Modern renderers frequently combine several methods, using different techniques for direct lighting, shadows, reflections, ambient effects or volumetric phenomena. The selected approach depends on required image quality, physical accuracy, latency and available computational resources.
The rendering pipeline involves numerous stages and representations. Geometry may first be transformed from object coordinates into world and camera coordinates, after which projection determines how the three-dimensional scene maps to the image plane. Visibility algorithms determine which surfaces or samples contribute to each image location. Shading calculates how materials respond to illumination, while texturing supplies spatially varying surface information.
Raster-based pipelines generate fragments that are tested against depth and other buffers, while ray-based renderers determine intersections between rays and scene geometry. Post-processing may then apply operations such as tone mapping, colour correction, depth-of-field, motion blur, bloom or other image-space effects. The final result may be stored in a high-dynamic-range format for further processing or converted into a display-oriented representation. Every stage can influence the final image, so rendering quality is determined by the entire pipeline rather than a single algorithm.
Lighting is one of the most important aspects of rendering because the same geometry can appear radically different under different illumination. Direct lighting describes light travelling from an emitter to a surface without an intervening diffuse interaction, while global illumination considers indirect transport in which light can bounce between surfaces. Shadows require determining whether a light source is visible from a surface point, while reflections require evaluating how incident light interacts with reflective materials.
Refraction accounts for transmission through materials with different optical properties. Ambient occlusion can approximate local visibility relationships but is not equivalent to complete global illumination. Physically based rendering attempts to maintain plausible relationships between material properties and light transport, but it still involves approximations because exact simulation of all optical interactions would often be computationally impractical.
Real-time rendering prioritises predictable performance because interactive applications must continuously produce new frames. At 60 frames per second, for example, the nominal frame interval is approximately 16.67 milliseconds, meaning all relevant simulation, rendering and presentation work must fit within that budget if sustained 60-frame-per-second output is required. Techniques such as level-of-detail selection, culling, batching, instancing, shader optimisation, temporal reconstruction and hardware acceleration are used to manage this constraint.
Offline rendering has different priorities and can spend seconds, minutes or substantially longer on a single frame when visual quality is more important than immediate responsiveness. Feature-film production may therefore use computationally expensive effects that would be unsuitable for an interactive application. The distinction is practical rather than absolute, because increasingly capable hardware and algorithmic improvements continue to move sophisticated effects into real-time workflows.
Rendering is also strongly connected with image resolution, sampling and numerical approximation. Increasing output resolution increases the number of image samples that must be processed, while anti-aliasing improves the representation of edges and fine details by accounting for subpixel coverage or multiple samples. Monte Carlo rendering methods introduce statistical noise because the desired light transport solution is estimated from finite samples.
More samples generally reduce noise but increase computation, while denoising algorithms can estimate a cleaner image from fewer samples at the risk of removing or inventing visual detail. Temporal methods can reuse information from previous frames to improve efficiency but may introduce ghosting or other artefacts when scene content changes. Consequently, rendering quality involves trade-offs among sampling density, computation, reconstruction, numerical stability and perceptual appearance.
Rendering is used in many contexts beyond conventional entertainment imagery. Product designers render proposed objects before manufacturing, architects visualise buildings before construction, engineers inspect virtual assemblies, scientists generate views of spatial datasets, and games render interactive worlds continuously. Scientific volume rendering can display three-dimensional scalar fields such as medical imaging data, while technical rendering can emphasise edges, surfaces or measurements rather than photographic realism.
Web and application interfaces also use rendering in a broader sense when structured documents and interface descriptions are converted into visible pixels. Rendering therefore refers to a general class of transformations from structured graphical information to perceivable output, with the specific algorithm depending on the domain and required result.
Rendering is often confused with related processes such as modelling, compositing and exporting. Modelling creates or modifies the scene representation, animation changes scene properties over time, rendering generates an image from a scene state, and compositing combines rendered and other image elements into a final composition. A renderer can produce intermediate passes containing depth, normals, object identifiers or separate lighting contributions rather than only a final colour image.
These auxiliary outputs support later compositing and correction without requiring the entire scene to be rendered again. Rendering also has limitations: physically accurate results can be computationally expensive, approximations can produce artefacts, and output quality depends on the quality of geometry, textures, lighting and source data. Nevertheless, rendering is fundamental because it forms the computational bridge between abstract graphical descriptions and images that people can inspect, display, record or communicate.