Software
Software
Reviews
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.
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.
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.
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.
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.
Different materials configured just with procedural maps, including the volumetric one based on a simple geometry with a few noises applied to it, I used the public sample model from the Corona Materials Library website
The first time one opens the material editor and looks for Corona materials, one is probably expecting to find a standard set of specific materials and some sort of light material, especially considering this just a v1.1 version of the render engine. And you'll indeed find this, but you'll also find a rich collection of materials, such as the CoronaRaySwitchMtl, which lets you specify different materials for different ray types - think for example about a red ball that bounces too much red light, and that the director wants to avoid that kind of color bleeding. In that case you'll use this material to configure the Red material as the directly visible material, but a less saturated or different material for the GI rays, or the reflected rays or the refracted rays. It opens a big world of possibilities to adapt your scene to your needs, without having to tweak thousands of settings.
There is also a CoronaShadowCatcher material that lets you integrate your characters and objects with photographs or footage. It's Corona's own Matte/Shadow material and it works pretty well, in various situations.
Also of note, there's a CoronaVolumeMtl. At first you'll think that it may render voxel-based simulations like FumeFX's, but it's a geometry-oriented material. It works with any geometry, so you can for example render clouds defined by geometry. There have also been examples of FumeFX simulations converted to geometry using Frost and Krakatoa and rendered with this material achieving a pretty decent result.
The CoronaVolumeMtl also allows to create volumetric fog and different effects like god rays and volumetric shadows.
Regarding the standard Corona material, it's an easy to use shader based on the GGX model. It offers different options like volumetric scattering, translucency without having to use SSS and a few effects like rounded edges. It's a good material that allows you to build your desired shader in no time.
The list of available maps in Corona is pretty good. There are some render-specific Corona maps, and there are some which are enhanced versions of the ones that come with 3DS Max.
Corona AO: a good Ambient Occlusion map filled with advanced AO features like inverted normals exclude/include options, directionality, and some more. It's great to create a simple AO effect and useful also to use it as mask for other textures - in combination with the CtexMap render element it gives you a very advanced Ambient Occlusion render pass.
Corona Color: I've been missing this feature in Max for ages. A pretty advanced color node that allows you to configure your color in different ways, like creating an HDR color, using the old HEX input to use web colors, or define the color using a temperature value. Very useful.
Corona Normal: a node to use Normal maps in Corona, useful with some normal map-related features such as flipping channels and exclude the loaded bitmap from Gamma.
Corona Output: using this map you can exclude any texture from being affected by color mapping, so it's useful for light textures, backgrounds and many other situations where you may want to avoid color mapping in your texture.
Corona Sky: I bet you know what this is, Corona's own physical sky.
Corona Wire: finally a proper way to render wire frame with full control over its look. This map gives you the ability to use the object wireframe as a texture: you can define whether you want to show lines and/or vertices, and you can define its aspect using World Units, so the size remains stable in the world space. You can also use pixel size, so it adapts to your output size. There's also an "All Edges" feature that allows to show ALL the object edges; if disabled it will just show the visible edges. This map is a great tool to render wireframes.
Corona RaySwitch: this map does the same as its Material counterpart. It allows for example to define a different color for the GI rays. You can use for this for a bright beautiful orange, so that the reflection is not as bright, and define other colors for Direct Rays, Reflection Rays or Refraction Rays. In the end you can render an orange that reflects green light, it's seen in mirrors as a red orange and can be seen in green through some magical glasses. :-D
Corona FrontBack: a simple but powerful map. It allows you to define a different color/texture for the front face and the backface of your object - useful for leaves and papers, for example.
Corona Multimap: the equivalent of the Multi/Sub-Map. A great map to use when one has lots of instanced objects, where you can define a different set of textures to each object based on different parameters. It's great for building a forest with just one material, for example.
Corona Mix: an improvement over Max's own Composite map. It's limited to two maps, Top Layer and Base Layer, and one mask. But you may use multiple nested maps to achieve the same effect as with the Composite map, with the advantage that it will render more efficiently.
Corona Bitmap: a Corona-specific replacement for Max's bitmap map that that brings rendering speed increase of 10-20%.
These are the maps available so far. As you can see it's a pretty powerful collection that I'm sure will be improved over the time.
Masks can be created by specifying Object ID, Material ID or by picking objects from the scene. Materials can also be made invisible to masks while staying visible in the beauty pass, which is useful for when you want to create masks for objects behind glass panels.
The list is quite long and goes from a CMasking_Mask element that will allow you to generate an old fashion alpha matte as well as to have the RGB matte divided into one matte per channel, to the most advanced Cshading_Albedo that will allow you to debug your scene to see which materials or maps are making your scene noisier or slower.
In my experience interactive rendering in Max (a.k.a. Activeshade) usually has had some cons in the past. The computer became slow, the scene had to be reloaded very often (which kills the interactive feeling and feedback) or the refresh resolution of the render was too low so you would lose track of the previous image to compare.
In Corona I've found the best Interactive Rendering experience I've seen so far. It is fast, especially if you use PT+PT. The big changes are transferred very fast to the engine so it does not have to start as often as other engines, and you get results pretty fast too. Also, almost all the main render engine features work in IR, so there is no difference between the IR and the final render output.
There are of course things that can be improved, for example you have to start a normal render before starting an IR session so the window has your desired output size. But I take it all these small caveats will be solved soon.
Corona also comes with Corona Scatter, a similar feature to third party solutions like Forest Pack Pro and Carbon Scatter. It has less parameters than those plugins but it's a good solution and it comes bundled with the renderer, so it's great to have a way to scatter geometry without having to rely on purchasing more third party plugins. It also helps with memory management of proxies without having to create any proxies. For example if you have 1 tree and you want to make a forest you don't have to worry about creating external proxy files. Corona Scatter will handle this without creating external files and you can multiply your trees as much as you want; your system's memory will be barely affected by multiplying geometry up to absurd amounts.
Video showing Interactive Rendering, Corona Scatter and memory management
Particle Flow in Corona is treated as an instancing system, allowing you to distribute whatever you want without having to deal with proxies, pretty much the same way Corona Scatter works. Parsing speed for Particle Flow scenes has been vastly improved in the 1.1 release.
Have you ever found yourself in a situation in which you needed to render an 8k x 8k image only to notice that the render may take 10 hours? Usually you can go to Backburner, split the image in lines and render each part on a different machine, and then use a job to put all together again. But this workflow is problematic and it lacks some features such as the EXR multichannel capability.
Corona DR allows you to take advantage of any other computer in your network and multiply your rendering power by a considerable factor, so if you add one computer similar to your system you will have nearly a 200% horsepower machine. If you add a third one it will increase things a lot too (not exactly up to 300% because the scale is not exactly linear), you may reduce your 10-hour render to a 2-hour render without having to send this to any render manager. It's a neat feature and it works quite well.
In Corona you work with the standard Max camera. In order to have access to physical camera settings you add the Corona Camera Modifier on top, and then you will be able to control ISO, Aperture, Shutter Speed, DOF and/or override the focus distance. It's not a bad way of having those controls in the camera, but now that we have a physical camera in Max (added in v2016), I hope they tie the new camera settings to the ones from Corona.
When you are used to a render engine in a pipeline, migrating is one of the hardest things to do. You usually have a good library of props, shaders and such things ready for your render engine (being V-Ray or Mental Ray, for example) and this was one of my main concerns the first time I tried Corona. What is going to happen in a real project when I need all those assets?
The answer was pretty straightforward, as stated earlier Corona comes with a converter that does a pretty good job in translating shaders from V-Ray or Mental Ray to Corona shaders. It lets you also configure some parameters for the entire scene as well as convert lights. You can have a scene from V-Ray or Mental Ray ready in a matter of seconds
Lights in Corona can be made invisible to the camera, as well as invisible to reflections/refractions. Backplates can be easily created with the invisible to GI option.
The Corona team has always tried to make this render engine affordable for everyone, and at the same time something that gives them some profit to live and continue working on the renderer. In my opinion they've achieved a very good solution. It can be improved for sure, but it's a good licensing scheme.
Corona comes in two licensing flavours, Box and FairSAS.
Box: This is for people that want to OWN their license and don't want to keep paying to work with their package, in this case the price is 449€ + 99€ of yearly subscription, and each license comes with 1 Workstation + 3 render nodes. This is my preferred license type because if at some point I run out of money, even if it's temporarily, I can keep working with my render engine. I don't have to worry about paying every month.
Also this scheme could be improved by offering some options with some more render nodes, but they have other solutions for this. In case you want to keep your nodes as Box licensed nodes you will have to acquire several Box licenses and use your workstation licenses as node licenses, but as I said, you may not need to keep ALL your nodes licenses as Box licenses so you have other options.
FairSAS: this is a renting scheme, in my opinion what makes it so good is that they keep the Box licensing scheme, so it is optional, and can come in handy in many situations:
So in the case you don't have enough money to make the investment in a Box license, you can use this method temporarily or forever, as you wish, because their pricing scheme is pretty good, and if you have your own renderfarm that you use just for your projects, you may want to pay for your nodes just when you need them, so this allows for flexibility and cost effectiveness.
In my case I'm happy using a Box license for work and using FairSAS when I need my render farm. A fair deal if you ask me.
But there is more, they have special prices if you are an educational institution, they have the awesome price of 24,99€/YEAR for 1 workstation + 1 Render node. A fair deal for schools.
And finally, if you have your own commercial farm, you won't have to pay anything, you just have to pay for the revenues you get with your farm and Corona, they charge between 10% and 15% of the revenues, if you want this you will have to contact them for your custom made deal.
Also of note, everyone with the FairSAS license or the BOX+Subs license gets immediate access to daily builds, so everyone will be able to test out new features and fixes as soon as they are out. That's great because there are times when you have a bug and after posting it in their Mantis bug report system or in the forums, they fix it and you can keep working with a fast fix in your hands.
The Corona version I've used for this review is the 3DS Max one, but Render Legion are also developing a Cinema 4D plugin (which is free for the time being until they release it officially), a Maya plugin that is in private alpha and will be made public soon, a Blender version and a Standalone version, both of which are free for the time being (although they are not as advanced as the Cinema 4D / Max releases).
Let's go back to our first question: does it live up to the high standards of today's render engines?
The answer is yes, it does, and pretty well for a 1.1 release. Corona produces beautiful images and has plenty of features, a full set of render elements, a very good instancing/proxies workflow, a great collection of materials and shaders, and more. In the look/dev area it is quite advanced with the interactive renderer it offers, probably the most responsive one I've experienced so far. With all this Corona gives us the tools we need to migrate from other renderers easily.
A growing number of free Corona materials can be found on Render Legion's materials repository and on the Corona Materials Library website
While its rendering performance is slower than that of V-Ray or Mental Ray for producing low quality renders (this is an un/biased render engine after all), it's more or less on par with those two when dealing with photorealism, if not faster in some scenes, and of course there is the main advantage of nearly zero setup. You get clean animations out of the box without worrying about strange splotches, and if you need more performance you can always use its distributed render feature, so you can leverage all your workstations' and farm's power.
The licensing price is also an important factor when dealing with plugins. The developers have made the software affordable while maintaining the good old permanent licensing for everyone who wants it, instead of forcing people to rent the software.
It should be noted, however, that in this current version there are still some important features missing, like native hair support, a skin shader, a velocity render element for doing motion blur in post, support for heterogeneous volumetric rendering and point rendering (for particles).
Taking this into consideration, giving a final score is not easy: Corona is an awesome renderer but there are some significant features currently missing. In my opinion a score of 3.5 would be fair for character animation production or VFX work, but if we focus on architectural visualization it would deserve a 4.5, because it already delivers everything needed to achieve excellent results in Archviz. So having to settle on just one score, I'm giving it 4 stars to balance things out. In any case, investing in Corona is an excellent choice, the development team is working fast and if it's not feature-complete today, it will be tomorrow.
News
Industry News
Plugin News
Videos
Making Of
Cinema 4D Plugins
Making Of
Terms and Conditions | Privacy Policy | Cookie Policy
Copyright ©2000-2024 CGPress. All rights reserved.