3D rendering is the process by which the computer turns a 3D scene into a 2D image. This scene usually has some valuable information that influences the look of the 3D render. Information such as materials which basically define how surfaces receive and treat light. And the lighting of the scene.
3D renders can be photorealistic (looking like reality) or not photorealistic.
3d rendering is usually a computationally intensive task and usually takes a long time. Both the complexity of the scene and the type of rendering method used to render the scene determine how easy it would be for the computer to render.
During most photorealistic renders, the computer is basically trying to solve the rendering equation.
The rendering equation
The rendering equation is an integral equation in which defines the radiance (light intensity) of a point (it’s not really a point, it’s just a very small area on the surface) on a surface in a given direction as the sum of the emitted radiance from that point plus any radiance (light) arriving at the surface which is then reflected or transmitted in that direction. Under a geometric optics approximation (a geometric optics approximation means that the wave properties of light are disregarded ). The light being reflected comes from all directions above the surface.
The rendering equation was developed by 2 people simultaneously David Immel et la and James Kajiya in 1986.
Some important assumptions were made in the derivation of this equation.
The most important assumption is that we are working in a geometrical optics framework – so we do not consider the wave properties of light – meaning no diffraction, for example, quantum effects, such as phosphorescence are not considered.
Also, dispersion is neglected if the equation is not in its spectral form
Another is that light travels instantaneously, and light rays travel in straight paths from surface to surface, with no polarization, etc.
This is a fairly complex bit of an equation so I won’t go into details. The equation tries to account for all light in the scene as in reality and not just the light from light sources. It tries to calculate the light objects emit. A blue object has absorbed all the spectrum of light hitting it and emits blue light. That’s why it’s blue.
The equation accounts for this as the blue light emitted can actually illuminate other objects nearby as in reality. Although it is very subtle. It is vital for photorealism.
Solving or attempting to solve the rendering equation for any given scene is the primary challenge in realistic rendering. and necessary for photorealistic rendering
The Radiosity algorithm is a result of an approach of trying to solve this equation.
Also solving this equation with the Monte Carlo approach brought algorithms such as path tracing (Monte Carlo raytracer), photon mapping, etc. These algorithms are collectively called Global Illumination or Indirect Illumination.
Solving this equation during renders lead to the render being indirectly illuminated, or globally illuminated in the scene. This means that the scene is not only illuminated by the light source but by the objects emitting light to each other. By light bouncing off of objects to other objects.
Solving this equation is crucial to obtain some certain effects that occur in real life like soft shadows, depth of field, motion blur, light bounces.
Not all rendering methods try to solve this equation, so they don’t often look realistic. But if a rendering method includes solving this equation, then the render will look photoreal and also take forever to complete.
Why does 3D rendering it take so long?
We all know 3D rendering is very computationally expensive. It requires very powerful and expensive hardware to run at an acceptable time frame. That’s part of the reason why the visual effects industry is so expensive
The first reason why 3d rendering takes so long is the sheer number times the equation that has to be calculated.
Remember, the rendering equation is done for every single pixel in an image. Each pixel represents a ray of light. There are over millions of pixels in a standard 1080p image And some renders, depending on the user settings will emit multiple rays per pixel. The equation might not be so difficult for a computer to calculate but the amount of times it has to calculate it is what takes time.
The resolution of the image determines how many pixels are in it which determines how many light rays will have to be traced. So higher-res images mean more rays which means more number crunching for the computer and more time taken.
Also, it depends on the complexity of the scenes. The amount of polygons, the complexity of the shaders, adding such effects such as motion blur or depth of field or soft shadows or subsurface scattering or caustics, etc increases the complexity of the equation in order to factor in all those effects.
Also, it depends on the rendering method used. If it uses the rendering equation or not.