Corona Renderer 6 for 3ds Max Released!

Corona Renderer 6 for 3ds Max released

We’re pleased to release Corona Renderer 6 for 3ds Max! This time around we’ve focused on giving you the tools to attain greater realism and be more creative, while also speeding up your workflow.


For the tl;dr generation, here’s the New Features video for a quick overview of what is in this release:


Set the download going while you read! Grab it from:

Demo Refresh: If you have tried a previous version of Corona Renderer and your 45-day trial has expired, then you’ll be pleased to hear that we have automatically refreshed the demo period to give everyone an extra 14 days! Simply download and install Corona Renderer 6 from the link above, and activate the demo license right within 3ds Max. Enjoy!


  • New Sky Model has better overall tint to the lighting in daytime, but most importantly supports the sun being below the horizon (as low as -2.85 degrees, or roughly 5.4 sun diameters) for dawn/twilight
  • Randomized tiling in the UvwRandomizer lets you avoid the “repeating pattern” look that even seamless textures have
  • New Adaptive Environment Sampler removes the need for Portals, saving you the time (and pain!) of setting those up, while giving more accurate results
  • New Lens Effects give you vastly more control over bloom & glare
  • Material Library update with 78 new materials
  • New Masking options that work in reflections and refractions giving you greater control in post
  • Support for Phoenix FD Foam so you can take full advantage of Phoenix FD water simulations



If you’ve been following us for any length of time, then Adam Hotovy is a name you will be familiar with. You’ll have seen him in talks, laughed and probably drank with him when meeting up at conferences, and of course seen his name in our history as one of our three founding members.

Earlier this year, health reasons meant that Adam had to change his focus in life, and although it was a hard decision to make, he had to step down from his role in the company.

Wishing Adam well

In line with Adam’s “no bullshit” way of doing business, we have to shoot straight and say that we were sad to see him go from the daily running of the company, but also that we totally understand the need for the decision and think it was the right one. We ask you to join us in wishing him and his family well!

Adam, thank you for all you have given to our users, to us as individuals, to the company, and to the software. None of us would be here doing what we do today without you!


Join us in welcoming our latest recruits!

  • Kristýna Bártová, HR Specialist
  • Martin Dorazil, C++ Developer
  • Michal Navrátil, C++ Developer
  • Veronika Kučerová, Finance Accountant
  • Benjamin Rosas, Cinema 4D Support
  • Russell Traill, Marketing Specialist
  • Aleš Suchomel, C++ Developer
  • Petra Hapalová, C++ Developer
  • Jan Marek – QA Specialist
  • And all the Corona babies!

We are always on the lookout for the right people to join the team. Right now we are looking for C++ Developers – head to our jobs page to check out requirements and to apply!


Corona Renderer 6 for Cinema 4D came out last week, so we hope our Cinema 4D users are enjoying that!


New Sky Model

The new Sky model provides greater accuracy, and most importantly, the sky continues to be accurately illuminated when the sun is below the horizon, down to as low as -2.85 degrees (or, approximately 5.4 sun diameters below the horizon), which enables dawn and twilight effects. You can see the difference with the sun below the horizon in the comparison below:

Open full size comparison

Even full daylight scenes look better however, with less green present in the lighting, giving the best procedural environment lighting yet:

Corona Renderer 6 for 3ds Max, new sky system example

The Textured mode in the Corona Sun also allows for realistic banding in the sun when it is low on the horizon, which looks great with the new sky:

The new Sky model lets you use multiple procedural skies with multiple suns, and connect each sky to a particular sun. When you use the “Create Corona Sky” from a Corona Sun, the two are paired automatically. For when you create Suns and Skies separately, you can either use the Automatic mode, where the Corona Sky will look for a similarly named Corona Sun (e.g. a Sky named “Evening Sky” will look for something similar to “Evening Sun”), or you can manually choose which Sun the Sky will be connected to.

You can see this in action in the quick and informal introduction below:

The Sun’s turbidity will be taken from the environment map that is linked to that Sun. Sky Turbidity is not yet supported with the new sky model, but this will be added in the next iteration of this model.

Randomized Texture Tiling

Even seamless textures show obvious patterns when you repeat them often enough across a surface, which is very distracting to the eye, and a giveaway that an image is CG. Now, the UvwRandomizer includes Randomized Tiling to avoid this. It works for all channels in the material, including displacement and bump, and it also works with procedural maps too.

For this to work, either the object has to have correct UVW mapping (via unwrapping, or the UVW map modifier), or you can use the UVW Randomizer in combination with the Corona Triplanar map, which will both randomize the texture and prevent seams and stretching without the need for UVWs.

You can see several examples below:

Pool house scene, using regular UVW Mapping:

Open full size version

You can also use procedural maps as input. The example below uses a native Noise map, connected to a Corona Triplanar map to avoid having to unwrap the bust:

Open full size version


Open full size version

The UvwRandomizer also takes into account the UV scaling of the input maps, which allows handling of real world scale textures.

There’s also a High Quality filtering option. This greatly increases the quality of the resulting blend, especially on tile boundaries, at the cost of slower computation. This is enabled by default. You can compare the difference this makes in the image below, both using randomization:

Open full size version

Below, you can see the material setup used for the landscape:

Corona Renderer 6 for 3ds Max, UvwRandomizer set up for landscape texture randomization
New Adaptive Environment Sampler

Let’s say it together – NO MORE PORTALS!

Based on V-Ray technology, this new sampler means you never have to spend time setting up portals ever again – and you will still get even better results than Corona Renderer 5 with portals, saving you render time too!

The new Adaptive Environment Sampler is more accurate than when using portals, so you may see some changes to lighting and shadows in a scene from previous versions where portals were used. Noise may clean up faster in interior scenes, so as well as more realistic results, you may save render time too!

Open full size version

In our example above, we turned off any filtering, denoising, blur & sharpen, etc. and only let it run for a small amount of time, to make sure the noise was as visible as possible so that you can compare the differences.

You can see some user examples from the daily builds on the New Adaptive Environment Sampler Playground thread on the forums.

The new Adaptive Environment Sampler is the default in all new scenes in Corona Renderer 6 and newer, so you never need to think about setting up portals again.

Note 1: This is the Adaptive Environment Sampler, so it does not benefit render times or noise for non-environment lighting. This means that scenes where the environment lighting is the dominant light source will show the biggest improvement.

Note 2: The difference is most obvious with an HDRI as the environment lighting; there will be little or no difference with simpler environments such as a Corona Sky.

Note 3: Portals have been completely removed from Corona Renderer, so when rendering a scene from before Corona Renderer 6 you will get a warning for each portal object, allowing you to select and safely remove it (there is no automatic or global “remove all” because the portal may be part of some larger, otherwise visible object that you may want to keep!)

Material Library Update
Corona Renderer 6 for 3ds Max, Material Library update

We’ve added 78 new materials to the library, including:

  • A new category, Flooring, with 15 new materials
  • A new category, Carpet, with 19 new materials
  • A new category, Ceramic Tiles, with 31 new materials
  • 13 new materials added to the Concrete category
Corona Renderer 6 for 3ds Max, Material Library Update examples
Support for Phoenix FD Foam

Foam in Phoenix FD can now be rendered using Corona Renderer. This includes support for motion blur, rendering masks for the foam, and render elements such as Velocity.

Corona Renderer 6, support for Phoenix FD Foam (boat in water Phoenix FD standard example)
Corona Renderer 6, support for Phoenix FD Foam, fish tank example

You can check our article on known limitations for any features that remain unsupported.

New Lens Effects

We’ve taken the cool features and power of V-Ray’s lens effects, and then simplified the UI to make it easier to use! This means you now have more options, features, and control over the look of bloom and glare in your scene.

Corona Renderer 6, new Lens Effects, car on racetrack example

Here’s another example – first, let’s look at the old Bloom & Glare:

Corona Renderer 6, a look at the old Bloom and Glare
Click for full size version

And now some examples of what is possible using the new Lens Effects:

Corona Renderer 6, new Lens Effects, candle example
Click for full size version
New Masking options in reflections and refractions

Masking render elements can now be propagated through refraction/reflection. To propagate them you have to set it in the material (Corona Mtl -> advanced -> propagate masks).

For more information, see this article.

In the example below, you can see a comparison with the new “Always” propagate masks option with the old method which never propagated masks in reflection and refraction. Masks were used to adjust the hue of the leaves, the branch, and the book in post.

There were two objects that featured reflection, refraction, or both – the glass vase, and the mirror.

Open full size version

With the new “Always” propagate option, those changes can be accurately applied to reflections and refractions of those objects too, while previously the masks would not allow selection of those reflections and refractions so they’d remain unchanged (unless you manually painted in masks – tedious!)

In this case, the mask used the Instance ID, and below you can see the differences in the mask from the various propagate options:

Corona Renderer 6, the results of the new propagate in masks options
The results of the new propagate in masks options

You can check out some user results and tests from the daily build in this forum thread, and there is also an interesting write-up from State of Art Academy too.

Please note that diffuse reflection is still counted as reflection for the purposes of mask propagation, which means that even with a Reflection of 0, a surface may still propagate in masks via diffuse reflection.


  • CoronaBitmap memory optimizations
    Memory usage has been optimized for textures whose dimensions were not a power of 2, which saves 20 – 30% total memory in a few real world scenes we tested.
    – Memory usage was optimized for RGB textures that only hold gray colors, saving up to 66% memory for that particular texture
    – 16-bit textures now take 2x less memory

Open full size version

In the example above, no denoising was used, otherwise the memory used during Denoising would be the Peak Memory. The new Adaptive Environment Sampler was not used in Corona 6, to make sure we were comparing apples to apples (pun intended, given the content of the image!). As you can see, Corona Renderer 6 saved 26% memory compared to Corona Renderer 5.

  • Improved Speed and UI responsiveness of Corona Scatter
    – Scatter UI has greatly improved performance and is generally more responsive
    – Improved the performance of Corona Scatter when using a Density map slot (for example, with the commonly used set up of a Corona Distance map plugged into the Density slot)
    – Loading scatter scenes is faster (on average by 28%, and in extreme cases by 78%, depending on the number and size of the textures used in the scenes and the number of scattered instances)

– Corona Scatter no longer freezes the UI when recomputing in heavy scenes. Also user experience when using high-poly distribute-on objects got improved – it is faster now
Improved scene export to better handle scenes with many (scattered) instances
Optimized user properties storage in geometry. This should especially help in speed and memory requirements when parsing “extreme” scatter scenes. In general, performance of parsing scenes with many instances got improved

  • Corona Toolbar
    – The Corona Toolbar now uses High-DPI icons in 3ds Max 2017 and newer
    – ‘X’ menu (global search menu) now offers actions from the Corona toolbar and keyboard shortcuts can be assigned to them
    – It is possible to add 3ds Max’s buttons to our toolbar and vice versa
    – In the Customize User Interface all Corona actions are now in “Corona Renderer” category

  • New option allowing you to have more than 1 version of Corona Renderer installed at once
    For Corona Renderer 5 and newer, you have the option to have multiple versions of Corona Renderer installed at once. For example, you can have Corona Renderer 5 and Corona Renderer 6 installed at the same time (but not Corona Renderer 4 or earlier).
    This makes it possible to install new versions, and still have access to old versions for any ongoing projects. See this article on how to set this up.

  • Added optional collection of anonymous product usage data
    This data will help us improve Corona Renderer in the future – for example, it will let us know what the most common resolutions are that people render to, what features are used (to prevent us removing one that we think is redundant but is in fact still used by a number of users), to see what hardware people are running on, and so on.
    It is important to note that this data is anonymous and GDPR-compliant – we do not store anything that identifies you as a person, and do not have a way of connecting the data back to you. Also, for those of you working under an NDA for your scenes and images from your clients, the aggregated, anonymous data that is sent to us would never be considered a breach of NDA as it does not contain any specifics about your scene, just overall statistics.
    It is also important to note that this data is optional – you can disable the option both when you install Corona Renderer:
Corona Renderer 6 for 3ds Max, anonymous product usage data, installer

But you can also disable (or enable) it later from the System Settings under Corona Preferences:

Corona Renderer 6 for 3ds Max, anonymous product usage data, settings
Click for full size version

You can also save the data to a file if you want to see what data has been collected (note, this works even if telemetry is disabled, to let you see what data would be sent if it was enabled). For full information, please read the applicable section of our Privacy Notice.

  • Blue Noise Dithering
    Used by default in all news scenes, this produces noise which is less visually distracting in renders with a low number of passes. This means it is intended to make IR more useful, with interactive renders showing less noise in the first few passes. There will not be a noticeable difference after the first 5 or 6 passes.
  • 4K Cache added (experimental only)
    This offers faster precomputation and rendering on higher end machines, and the result is closer to path tracing than with the UHD cache in some cases. It is considered experimental in Corona Renderer 6 since there are still some bugs that we didn’t have time to fix before the release. The UHD Cache remains the default – if you want to enable and test the 4K Cache, you can select it as an option in the GI Solver dropdown in the General Settings tab
  • Abbe Number – new lower limit
    Previously, 10 was the lowest value you could set for the Abbe Number when dispersion was enabled. This has been lowered to allow values as low as 1.
  • Improved the UI of the Corona Converter, to make it more consistent and organized
  • Added support for the 3ds Max Mix map mixing curve feature
  • When starting a render history A/B comparison in the VFB, the comparison vertical line is now always initially drawn in the middle of the visible area (that is, independent of the zoom level and area)
  • Autobump is now turned on if the user clicks on the warning message about 2.5D displacement and if the scene is older than Corona 3
  • World displacement size is reduced by 1.5 if 2.5D displacement is enabled in the warning dialog for legacy scenes
  • The File Open dialog has been changed from the 3ds Max dialog to the Corona dialog in all 4 usages (CProxy, CoronaLight IES file, CoronaCamera LUT file, and ColorCorrectTex LUT file). The Open dialogs now remember the current file path and open from there
  • Added support for .psd files to the Corona Converter script, for conversion between Max/Corona bitmaps
  • Opening pre-Corona 5 scenes where no displacement was used now automatically switches to 2.5D displacement (if displacement WAS used, then it still prompts the user whether to switch or not)
  • Added render stamp token %ptg which is replaced with the scene geometry preprocessing time (in milliseconds)
  • Added render stamp token %pts which is replaced with the secondary GI precomputation time (in milliseconds).
  • Memory statistics and scene parsing time are now accessible through maxscript (through the getStatistic() call, see )
  • Fixed maxscript function getStatistic returning slightly different value for rays/s from what we display in VFB stats
  • Intel AI Denoiser updated to version 1.2
  • Added support for RailClone 4 segment materials
  • Optimized rendering of the Falloff Map
  • Lowered memory usage when Denoising is not enabled
  • New version of the Corona Standalone. This is a rewrite from the ground up, and now exports 100% of the Corona native maps and materials, and has slightly more support for 3ds Max maps. The new version does break backward compatibility, but will allow us to go much farther in terms of feature compatibility, which we will work on in the next release.
  • Removed perfect backwards compatibility of very old CoronaMtl Corona Materials that are 5 or more years old (Corona 1.2 or older) may now render slightly differently
  • Added “Dissolve with previous image” to IR options in the System Settings. NOTE: This only has an effect if subsampling is disabled
    – When unchecked, the rendered image is refreshed only after the first pass has been finished – this is the current behavior
    – When checked, the previous image will be kept and will be gradually replaced by the new image during the first pass of IR render – this was the original behavior from before we introduced IR subsampling
    – See quick intro below:
  • CIE now saves JPGs with a quality of 100 (previously, this was 98)
  • Added clamp tiling mode to the Corona Bitmap (that is, clamping UV coordinates into the 0 to 1 range)
  • Added clamping of Light Material intensity to ensure that the value really is between the min and max specified in the paramblock (previously, it could have been raised higher by MaxScript or baking of LightMix)
  • Made the effect of “Conserve memory” checkbox more pronounced: memory reduction is increased by up to 18% overall, but also speed decrease is up to 30% bigger overall
  • Renamed inputs of some Corona maps that are shown in the slate material editor, to make them overall more consistent (e.g. texmap vs map vs color)
  • Fixed wrongly greyed out “Next” button in the licensing dialog
  • Introduced a new way to activate Corona – you can set your email & password or a path to the licensing server to environment variable CORONA_ACTIVATION:
    – For email and password, use format “email:password”
    – For licensing server address, use format “LS:address”
    – See our helpdesk article for full information
  • Added missing support of SiNi SiClone sweeps
  • Removed support for 3ds Max 2013
  • FumeFX no longer supports Corona Renderer, see this article
  • EULA updated


  • A fix was introduced for caustics which became blurred at the edge of the screen
  • A checkbox was added in the Caustics Solver Settings of the Development/Experimental Stuff section which can turn off adaptivity in caustics – this should only be used in cases where caustics are giving unexpected results such as black squares in the caustics element or other render elements such as in LightMix, as it will significantly reduce performance.
Corona Scatter
  • Fixed crash when creating Corona Scatter in 3ds Max 2016 (and possibly earlier) while Corona license is not active
  • Fixed Corona Scatter so that it no longer recomputes the scattering when materials in the original model objects were changed (previously, could cause freezes in some rare cases)
  • Fixed Density map slot in Corona Scatter that could be evaluated slightly differently in each run
  • Fixed the viewport not updating when changing time on the timeline in some cases
  • Fixed the viewport not correctly displaying scattered instances in some cases
  • Fixed rare cases of different scatter results between master and node in DR environment
  • Fixed sometimes incorrect evaluation of Scale map when it is switched to Object XYZ or World XYZ mapping (Legacy scenes remain unaffected unless the Legacy switch is disabled)
  • Fixed handling of LightMix and exclude lists for scattered instances in export for the standalone
Corona Toolbar
  • Fixed Corona Toolbar not being correctly reset after its deletion in 3ds Max 2018 and newer
  • Fixed possible crash, caused by the Corona Toolbar on fresh Corona installations during 3ds Max shutdown
  • Toolbar now correctly shrinks (both horizontally and vertically) when some of its button gets removed via context menu
  • Fixed Corona Toolbar right click context menu deleting incorrect button
Corona Multimap
  • Fixed wrong result when mixing two maps with non-default frequencies
  • Fixed behavior in cases where all slots have frequencies equal to 0. Now in such cases, the slots are all picked equally by random
Corona Proxy
  • Fixed issues loading geometry with (0,0,0) normals into Corona Proxies
  • Fixed crash when picking geometry from scene
Crash Fixes
  • Fixed crash of VolumeGrid when Checker map is assigned
  • Fixed crash when scene is reset while docked IR is running
  • Fix of crash of layered material with empty Rayswitcher
  • Fixed rare crash in IR when removing a Light Select render element
  • Fixed crash when closing VFB when IR was running
  • Fixed crash when Corona Sun is disabled
  • Fixed crash when using bitmap with Corona Volume Material in “Inside Volume” mode
  • Fixed crashing of proxy when rendering
  • Fixed DR crashing when mr_prim (Mental Ray) is enabled for native Hair & Fur
  • Fixed crash when saving scene with Corona Scatter switched to point cloud display mode
  • Fixed freeze when loading some Corona Scatter scenes
  • Fixed crash in some cases where motion blur is used with changing mesh topology (note, motion blur will still not work with changing mesh topology, just that it will no longer crash)
  • Fixed crash when exporting more than 40 million triangles to the Corona Standalone
  • Fixed occasional crash during parsing when scene contains mesher compound object
  • Fix of random crash with the ColorCorrect curves editor in linear interpolation mode
General Fixes
  • Fixed differences in rendering on different CPUs (mostly Intel vs. AMD)
  • Fixed adaptivity when parts of the scene are excluded (using render selection, etc.)
  • Material Library fixes:
    – Fixed the “incorrect normals gamma” warning in material Concrete Plates Dirty
    – Fixed missing bump map in plaster materials
  • Fixed textures mixed with Corona Mix not rendering in Phoenix FD displacement
  • Fixed vector displacement not working correctly when no specific UV channel was specified
  • FallOff map in distance blend mode in 3ds Max now renders in Corona the same way as in scanline renderer
  • Fixed issue where light mix/post-processing settings in VFB were not accepting values if mouse was outside of the VFB window
  • Fix of reparsing suns everytime during IR – should be done now only when some sun is changed
  • Fixed “Update to 2.5D Displacement” dialog lowering the Screen size of an instanced displacement modifier multiple times
  • Fixed the CoronaLightMtl using wrong UV coordinates in some specific cases
  • Fixed randomized assigning of materials in RailClone
  • Fixed 3ds Max asserts appearing during scene loading
  • Fixed dispersion being disabled for low GI/AA values
  • Fixed outdated link for error reporting in the Corona Converter
  • Fixed UHD Cache producing different results when 3ds Max render regions were used
  • Fixed NaNs being created in rendering after baking LightMix, and NaNs in certain other cases
  • Fixed issue where LightMix values were randomly overwritten
  • Improved error handling when invalid command line argument is supplied to the LicensingServer
  • Fixed issue where user could not use hex input in CoronaColor map
  • Fixed incorrect computation of opacity when CoronaColor map is used in the opacity channel
  • Fixed issue where native Max VFB was not refreshed during rendering
  • Fixed issue where you could not use linear interpolation for curves in CoronaColorCorrect. Selecting linear interpolation led to reverting back to cubic and restarting IR twice
  • Curve interpolation mode in the CoronaColorCorrect is no longer changed when hitting the reset button. Also, interpolation mode is correctly displayed when changing curve type or loading curves
  • Fixed CoronaColorCorrect connected to the bump slot not producing any bump when brightness adjustment was set to 0
  • Fixed a bug where using a render element with no filtering may have lead to incorrect accumulation of other render elements
  • Fixed wrong evaluation of render elements when using opacity
  • Tollbar starts even in first session of fresh install (or after ENU folder removal) of 3ds Max 2017 or older
  • A warning is shown when rendering masks only with a noise limit set (when pass and time limit are not set)
  • Fixed material library layout when displaying materials with long names
  • Old displacement is forced on export to Corona Standalone, since the Standalone does not support the new grid displacement yet
  • Improved error detection when loading cgeo meshes – both for Corona Proxies and for loading exported geometry in the Standalone
  • Fixed wxWidgets asserts being raised when using DR
  • Fixed wrong computation of normals during 2.5D displacement while having complex smoothing groups
  • Fixed different material editor preview of Corona bitmap and Max bitmap when the map channel is other than 1 (now the previews are the same)


For those who know us, you will not be surprised to know that work has started on our next projects! In the coming weeks, we’ll be settling on our plans for the rest of the year, and you can watch for news over on the tentative roadmap.


You’ve made it all the way to the end! Wait, you didn’t start your download before reading? Well, let us save you the trip back to the start of the article –

As always, getting a new version of Corona Renderer out to you is always a team effort. We’d like to thank our developers, and our support, business partners, forum moderators, translators, testers, advisors, partners, resellers, all at Chaos Group – and YOU, our users! We appreciate your support, and for letting us know what you want to see added, you are a vital part of what makes Corona Renderer what it is today, and what it will be in the future!

So to everyone involved, we’d like to say….

Thank you!

Ondra, and the Corona Crew

22 thoughts on “Corona Renderer 6 for 3ds Max Released!

    1. Thank you! We’ll make sure the best wishes get passed along to Adam, and ty from the team for the congrats too 🙂

  1. Не получается запустить.. удалила предыдущую версию. Скачала 6. И теперь ни одна не запускается даже на уровне установщика.. в чем может быть дело? вообще понять не могу.. хэээлп.

    1. Hi! English only please (otherwise, the translator may not do a good job). I don’t quite understand the question – graphics cards are not used for any sort of preview, other than there is realtime denoising via the NVIDIA AI Denoiser. There are no plans at the moment to include an AMD denoiser (if indeed AMD have one, and if indeed there is an API for it).

  2. Are there any plans for GPU rendering? Will the resource of video cards be used to render the image, except for noise reduction?

    1. No plans for GPU at all at this time, no – still applies. Not sure on what you mean in the second question, but right now the video card is not used in rendering at all except for noise reduction (and then only if you choose NVIDIA AI Denoising; the other two denoisers are purely CPU based) – and of course viewport performance in your host app. Hope that helps!

  3. Is it a free upgrade? Currently in Corona 4 Hotfix 1. I need to inform the office team about the upgrade if it’s free since they have absolutely no clue. On a annual commercial license as of now.

    1. So long as you have an active FairSaaS subscription (yearly, or monthly) you are entitled to every release of Corona, plus the daily builds and release candidates for the in-development version – so with a yearly FairSaas (which it sounds like you have), you can be using Corona 6 now, Corona 7 on release, and Corona 7 Release Candidates right now too (but be careful of using those in production since things are still being changed / fixed / etc). Hope that helps!

Leave a Reply

Your email address will not be published. Required fields are marked *