Rendering in Maxwell

The core rendering application in Maxwell Render (previously called MXCL) is the engine which computes your render and shows you the final image. The component is called Maxwell.exe in Windows, Maxwell.app in Mac OSX and Maxwell in Linux. It provides a standalone interface that allows users to load MXS scenes to render, view the rendering progress and adjust render parameters. Many of these parameters can be adjusted while the render is in progress. When adjusting parameters, the small preview image will show you the results in real-time.

Introduction and basic concepts

Progressive rendering

The Maxwell Render approach to rendering is quite different from that of other rendering engines. Because of its physically correct behavior and spectral calculations of light, there is no concept of a “finished” render. The render will keep calculating until you stop it, progressively getting cleaner and cleaner. Maxwell renders the entire image at once, not in "buckets" giving you a very quick idea of what the final render will look like.

Sampling Level

As the render calculates you will see the image output get less and less noisy and the Sampling Level (SL) increase continuously. The SL is a basic measure of quality, the higher it is the less noise the render will have. A few key points regarding SL:

  • It is important to understand that there is no fixed SL number to get an acceptable quality level, because it depends entirely on the scene. Some scenes can be completely noise-free at SL 8 or even earlier, while others may need to get to SL 16 or higher. As a general rule an exterior scene will render much quicker than an interior scene because most of the lighting in an interior will be indirect and there are many more light bounces to calculate.
  • Each new SL takes approximately x1.5 times as long to reach as the previous one. If it took 10 minutes to go from SL 4 to SL 5, it will take about 15 minutes to go from SL 5 to SL 6.
  • It is uncommon needing to render beyond SL 19 - 20.

  • The difference in noise levels becomes increasingly small as the SL increases. This means that there can be quite a difference between SL 5 and 8 in terms of noise, but very little difference between SL 18 and 20.

  • It would be counter productive to be "fanatical" about an absolutely clean render, as even footage shot on a high quality digital camera will have a slight amount of digital noise. Try to evaluate if a slight noise reduction in post will help to get rid of too evident noise, and thus saving you a lot of render time. Remember that each SL takes approximately 1.5x longer than the previous one. Lets say your render has a little bit of noise left at SL 16 and it took 15 minutes to get to this SL. But you wish to get rid of the noise completely, which would happen at say SL 20. The render will reach SL 20 in about 114 minutes. That's more than 7x longer render time, when perhaps stopping at SL 16 and doing a slight noise reduction in post would have been more than adequate.

 

Sampling Level vs Time

There are two ways to stop a render in Maxwell Render: by setting a Sampling Level or by setting a Render Time (in minutes). If you set both parameters, the render will stop when the first one is reached. This double approach gives you a lot of flexibility to control the quality and time invested in rendering. For example if you want to quickly compare a few renders of a scene you can set the time low (ex. 10min) and the SL high (ex. 15). In this case it is improbable the render will reach SL 15 in 10 minutes, so the render will stop after 10 minutes. For a final render you should set the SL to the desired level and set the time to a high value (ex. 999 minutes). Maxwell Render will stop when the SL is reached. If the render needed a higher SL you can always resume the render. See How to resume a render for more information.

Incremental render view update

At the beginning of the render, the Sampling Levels increase faster, and the main render view in Maxwell.exe will update with each new SL reached. As the render goes on however, it will take longer and longer to reach the next SL, and so the main render view will update every 10 minutes. You can also choose how often to update the main render view from the Maxwell.exe preferences (File>Preferences). It can be useful to set this time to a higher minimum because each time the render view updates, Maxwell writes a new version of the MXI file to disk and the rendering stops until it has successfully written that MXI, then resumes the render. To avoid this pause/resume/pause/resume especially at the beginning of the render, you can set a minimum write time to 15 minutes or more for example. Please see the Preferences section on the User interface and menus page for more info.

The MXI file format

Every time Maxwell renders an image, it keeps all lighting calculations in a special file format called MXI. Besides holding high dynamic range image data, the MXI file also holds additional information that allows for example to resume a render, or change the scene lighting using Multilight. It also contains any extra render channels you have selected when adding the render, that can always be extracted from the MXI and saved as regular bitmap.

An MXI file is always written to disk when Maxwell renders and it updates with every change in SL. If you don't specify an output path for the MXI file, it will be written to your systems temp folder. It is always a good idea to specify an output path for the MXI when rendering, not just an image output path. This will ensure you can always resume a render, even if the systems temp folder is purged, and it allows you save several versions of your render using different exposure or Multilight settings, without having to re-render.

 

Supported input image formats

Supported input image formats
BMPTGA*

TIFF*

PNG*JPGJPG2000HDREXR*

MXI

*Images with embedded alphas can use the alpha as a layer mask