Rendering is a critical part of a CG pipeline. This process utilizes 3D animation software that transforms a scene into a 3D image using different CG effects such as shading, texture mapping, shadows, reflections, and motion blurs. 3D scenes are a representation of surfaces and points called vertices and polygons in a 3D space. Through a series of mathematical approximations, the scene’s features and attributes are turned into one photo-realistic image by the animation software.
Rendering is an important step in digital animation but it’s also used in other industries, such as architecture and interior design.
Types of Rendering
There are two types of rendering, Real-Time Rendering and Offline or Pre-Rendering:
As the name implies, real-time renderers render images almost in real-time. That’s because these programs process images so fast, the artist could move or interact around in the environment that’s being rendered. This type of rendering program is often used in applications that demand rapid rendering such as gaming and interactive graphics. The process itself is broken down into 3 stages – the application, the geometry, and the rasterizing stage.
Rendering programs process incredible numbers of frames so that an animated character or object’s movements appear fluid and life-like. To take this into perspective, rendering a minimum of 18 to 20 frames per second is key to achieving this kind of life-like fluidity and anything below this range makes the action looks choppy.
Generally, rendering takes forever and a day to complete. With real-time rendering programs, it’s possible to render scenes in just hours, not weeks. A real-time renderer could render more frames per second than traditional rendering because the lighting infos are often pre-compiled into the program’s texture files. Also, these renderers have dedicated graphic hardware to improve rendering speeds. But don’t expect the quality to be the same as an old school renderer because there will be differences in quality.
If you’re on the market for a real-time renderer, we’ve outlined some of the best programs here.
Also known as pre-rendering, offline rendering involves using a multi-core CPU to render images as opposed to a dedicated program. Offline rendering could handle complex geometry, which means the results are higher in quality and are more accurate. But the process itself is quite slow because the CPU takes hours to render individual frames! That’s why offline rendering is often used for projects that don’t have a short deadline.
Because the progress is slower than real-time rendering, offline rendering is not interactive. However, the associated lights and textures have much higher polygon counts, about 4K or higher.
Also known as rasterization, scan line is a rendering technique that renders on a row-by-row basis instead of pixel by pixel or polygon-by-polygon. Scanline renders the polygons that are sorted by the top Y coordinate then each row of the image is rendered using the intersection of a scanline with the polygons on the front of the sorted list. Scan line is heavily used in technical visualization programs and videogames where characters and objects are always moving.
Ray tracing is a rendering technique that involves simulating and tracking the light produced by a light source as pixels in an image plane. This technique creates incredibly photorealistic lighting effects; perfectly mimicking the way that light interacts with objects in real life into a computer-generated environment. Ray tracing helps create realistic results but the process itself is slow, slower than scanline and more expensive. It’s often used in rendering TV and movie special effects and not ideal for video games or projects where speed is essential.
This global illumination method is based on an accurate analysis of light reflections from surfaces that produce diffused light, not from direct sources of light. It is viewpoint independent, dividing the scene into small patches and then calculating how light bounces from one patch to the others around a scene then back again.