Rendering (computer graphics)

An image rendered using POV-Ray 3.6
An architectural visualization rendered in multiple styles using Blender

Rendering is the process of generating a photorealistic or non-photorealistic image from input data such as 3D models. The word "rendering" (in one of its senses) originally meant the task performed by an artist when depicting a real or imaginary thing (the finished artwork is also called a "rendering"). Today, to "render" commonly means to generate an image or video from a precise description (often created by an artist) using a computer program.[1][2][3][4]

A software application or component that performs rendering is called a rendering engine,[5] render engine, rendering system, graphics engine, or simply a renderer.

A distinction is made between real-time rendering, in which images are generated and displayed immediately (ideally fast enough to give the impression of motion or animation), and offline rendering (sometimes called pre-rendering) in which images, or film or video frames, are generated for later viewing. Offline rendering can use a slower and higher-quality renderer. Interactive applications such as games must primarily use real-time rendering, although they may incorporate pre-rendered content.

Rendering can produce images of scenes or objects defined using coordinates in 3D space, seen from a particular viewpoint. Such 3D rendering uses knowledge and ideas from optics, the study of visual perception, mathematics, and software engineering, and it has applications such as video games, simulators, visual effects for films and television, design visualization, and medical diagnosis. Realistic 3D rendering requires finding approximate solutions to the rendering equation, which describes how light propagates in an environment.

Real-time rendering uses high-performance rasterization algorithms that process a list of shapes and determine which pixels are covered by each shape. When more realism is required (e.g. for architectural visualization or visual effects) slower pixel-by-pixel algorithms such as ray tracing are used instead. (Ray tracing can also be used selectively during rasterized rendering to improve the realism of lighting and reflections.) A type of ray tracing called path tracing is currently the most common technique for photorealistic rendering. Path tracing is also popular for generating high-quality non-photorealistic images, such as frames for 3D animated films. Both rasterization and ray tracing can be sped up ("accelerated") by specially designed microprocessors called GPUs.

Rasterization algorithms are also used to render images containing only 2D shapes such as polygons and text. Applications of this type of rendering include digital illustration, graphic design, 2D animation, desktop publishing and the display of user interfaces.

Historically, rendering was called image synthesis[6]: xxi  but today this term is likely to mean AI image generation.[7] The term "neural rendering" is sometimes used when a neural network is the primary means of generating an image but some degree of control over the output image is provided.[8] Neural networks can also assist rendering without replacing traditional algorithms, e.g. by removing noise from path traced images.

  1. ^ "Rendering, N., Sense IV.9.a". Oxford English Dictionary. March 2024. doi:10.1093/OED/1142023199.
  2. ^ "Render, V., Sense I.3.b". Oxford English Dictionary. June 2024. doi:10.1093/OED/1095944705.
  3. ^ "Rendering, N., Sense III.5.a". Oxford English Dictionary. March 2024. doi:10.1093/OED/1143106586.
  4. ^ "Render, V., Sense IV.22.a". Oxford English Dictionary. June 2024. doi:10.1093/OED/1039673413.
  5. ^ "What is a Rendering Engine? | Dictionary". Archived from the original on 2024-02-21. Retrieved 2024-02-21.
  6. ^ Cite error: The named reference Glassner95 was invoked but never defined (see the help page).
  7. ^ Rombach, Robin; Blattmann, Andreas; Lorenz, Dominik; Esser; Ommer, Björn (June 2022). High-Resolution Image Synthesis with Latent Diffusion Models. 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). pp. 10674–10685. arXiv:2112.10752. doi:10.1109/CVPR52688.2022.01042.
  8. ^ Tewari, A.; Fried, O.; Thies, J.; Sitzmann, V.; Lombardi, S.; Sunkavalli, K.; Martin-Brualla, R.; Simon, T.; Saragih, J.; Nießner, M.; Pandey, R.; Fanello, S.; Wetzstein, G.; Zhu, J.-Y.; Theobalt, C.; Agrawala, M.; Shechtman, E.; Goldman, D.B.; Zollhöfer, M. (May 2020). "State of the Art on Neural Rendering". ACM Transactions on Graphics. 39 (2): 701–727. arXiv:2004.03805. doi:10.1111/cgf.14022.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne