Introduction
[specs-box]
Corona is a render engine developed by Render Legion that saw its first official release in recent months. The quality of its renders and ease of use brought many early adopters, especially among Archivz artists. What makes this renderer special is that back in 2009, during the rising wave of GPU renderers’ hype, there was a programmer called Ondrej Karlík who thought that CPUs still had a lot to offer, and that there was no real need to migrate to GPUs to get powerful (un)biased renders.
Corona started as a student project and evolved with time. Other people got involved in the project, Adam Hotovy and Jaroslav Krivanek, and the team has kept expanding as the renderer continues to grow in popularity. After nearly 6 years of alpha development and the recent official release we can now put Corona to the test and compare it to other renderers.
Does it live up to the high standards of today’s render engines? Let’s find out.
Unbiased vs Biased
Corona takes advantage of the latest Embree technology by Intel to provide fast rendering speeds. As stated earlier, it is
CPU-based (not GPU). According to the developers “the reason is that our CPU version is fast enough, and there would not be nearly enough speed improvement to justify the amount of changes required. Also, reduced flexibility and hardware limitations are the reasons why we do not want to go GPU way.”
The renderer provides both unbiased and biased rendering
options: using the pathtracing engine for direct and indirect
lighting gives an unbiased result (in a similar way to Maxwell, Octane
or Iray). The UHD Cache can also be used as the
secondary engine, which will activate the precomputation power of Corona.
This reduces render times by a significant percentage and works in a way that is pretty
similar to the unbiased workflow. It adds that precomputation phase, and then one starts seeing the image progressively refining until it gets to the desired quality.
So in essence Corona offers the speed of biased render engines but maintains the ease of use and simplicity of unbiased render engines. To put it simply, Corona is an unbiased render engine but you can make it slightly biased to get faster results.
It should be noted that the biased workflow does not add any flickering when working with
animations. The UHD Cache has a specific mode for animation, which
makes precomputation take slightly longer, but in my experience you get a flicker-free and glitches-free
result, even with moving objects.
Let’s go over some of Corona’s main features.
GI Solvers
Corona offers the following options for calculating global
illumination:

PathTracing solver vs UHD comparison slideshow
(Click for larger image, then click again after popup on right side of image to load the next one.) Notice the amount of noise in the PathTracing version and how the UHD cache has less noise while maintaining visual quality.
PathTracing: unbiased solution, computes the final image by
tracing
independent light paths from the camera. With path tracing you don’t
need of mess with any parameters,
just press render and Corona does its magic.
UHD Cache: cached solution, it accelerates rendering at the
cost of biasing it a bit and gives similar
results to the pure pathtracing solution. It’s useful for scenes where
GI is dominant (such as interiors).
None: You can also disable the secondary solver and use corona
with just the
primary solver, which will bias your render a lot but will also give
you faster results. If you want to fake your lighting the old way you can do it with this.
HDCache (Legacy): This is maintained for compatibility with old alpha scenes, it is the precursor of the UHDCache.
Render Engines
Corona provides three render engine options:
Progressive: the same kind of engine we are used to seeing in other unbiased renders, it progressively refines the frame up to the desired quality or up to the infinite.

Bucket vs Progressive renderers comparison slideshow
(Click for larger image, then click again after popup on right side of image to load the next one.) There is barely any difference and while the bucket renderer finished a few seconds faster in this case, it doesn’t always happen.
Bucket: it’s a more clever engine in my opinion, it starts by doing a bucket render with a defined level of sampling for the first pass and after that it goes over an does a new pass refining the buckets where needed. It has some basic adaptivity implemented, so your result may be faster than with the progressive engine in scenes with large, uniform areas (such as walls).
BiDir/VCM: it is highly experimental, it has several modes and is used mainly for scenes that need clear caustics. Due to still being under development there are several features that aren’t supported by this engine
There are some settings you can tweak to slightly improve and adapt Corona to your specific scene but usually that’s all you have to worry about, the default Corona settings work well in most cases and the team did a pretty good job making things efficient but not dumbing them down, so you can still have control over the render.
Lights
Corona has its own set of lights: CoronaLight and Corona Sun. They’re both pretty easy to understand and use. The renderer also supports most standard lights, such as Photometric, Point or Direct. Most of the time you won’t even be thinking about this, because if you have an old scene you can convert it by using the conversion script that comes with Corona. It works incredibly well for converting scenes from V-Ray, Mental Ray, FinalRender or scanline.