How to use Interactive Rendering?




What is Interactive Rendering?


Interactive Rendering (IR for short) automatically updates the rendered image in real time as you make changes in your scene. It is a great aid in modifying and transforming objects, tweaking and creating materials, adjusting the environment, lights, cameras, and virtually any part of the rendered scene. All of this can be done while rendering, without any kind of limitations. There is no need to manually restart or update the rendering, as it happens automatically usually within less than a second. It runs completely on the CPU, so it has no limitations and does not require any special hardware. 


Any kind of rendering in Corona, including interactive rendering, is purely CPU-based. 




Are there any differences between regular and interactive rendering?


In Corona Renderer, final frame rendering and Interactive Rendering are handled by the same engine. In fact, final frame rendering is exactly the same as Interactive Rendering, only with scene updates disabled. The outputs of IR and final rendering are not visually different, as they are both capable of producing exactly the same effects, support the same features, and even use the same GI solvers. IR, just like regular rendering, will react to exposure controls and other post-processing effects in real-time. There are only minor differences: 


  1. When rendering, IR gives immediate response, while regular rendering provides better quality in the long run. This means that Interactive Rendering should not be used for final rendering.

  2. Internally, IR uses slightly different render settings than regular rendering (for example lowered GI vs. AA balance). This is done to achieve the best responsiveness possible, and does not affect the image quality or appearance in any way.

  3. By default, IR does not use all CPU threads, so it is slightly slower in the long run than regular rendering. This is to allow for viewport navigation and other background activities to run smoother. This can be changed in Render Setup > System > System Settings > Interactive rendering > # threads override. The default value of -1 means that all available CPU threads except for one will be used for IR. 




How to use Interactive Rendering?


Note: Interactive Rendering in Corona Renderer cannot be enabled using the 3ds Max "Active Shade" option!



There are two Interactive Rendering modes in Corona Renderer:



1. Docked in viewport


To enable it, right-click on the name of a viewport of your choice (for example [top], [left] or [perspective]) and select Extended Viewports > Corona Interactive:




This will set your current viewport as an Interactive Rendering window: 



To start rendering, simply left-click anywhere inside that window. You can resize your interactive window by resizing the viewport layout. 



To stop Interactive Rendering in the viewport:


Click on the "Switch viewport" button in the top-right corner and select another view:




Or right-click anywhere in the window and select "Stop":



Note 1: you can also press "V" in the interactive rendering viewport to bring up the "Switch view" menu, just like in any other viewport.




Note 2: you can also press "C" to copy the content of Interactive Window into the 3ds Max VFB - this is useful for example when you want to save the image rendered in the Interactive Window:



2. Undocked (floating window)

To enable it, go to Render Setup > Scene > General Settings and press the "Start interactive" button. This will open the Corona VFB with Interactive Rendering running. To resize it, simply resize the VFB window - Interactive Rendering window is independent from output size specified in render setup, but its proportions are locked based on that. 




To stop rendering, simply close the VFB or use the Stop button:





IR subsampling vs dissolve with previous image option


In Corona Renderer 6, we introduced an alternative way of rendering the initial interactive rendering passes. You can now choose between IR subsampling (the initial passes render faster because they are are pixelated - the number of pixelated passes is determined by the IR subsampling value) or dissolving (the initial pass gradually appears on top of the current content of the VFB). You can also disable both IR subsampling and dissolving, however this will result in lower overall IR responsiveness. 


These settings can be found in Render Setup > System > System Settings > Interactive rendering in Corona Renderer 6 and newer:



Note: currently enabling both the IR subsampling and dissolving will have almost no effect and the result will be almost the same as when only subsampling is used. It is advised to use either one or the other (set subsampling to more than 0 and disable dissolving, or set subsampling to 0 and enable dissolving).





Troubleshooting


1. Interactive rendering changes viewing angle each time I pick another viewport!
 

To lock interactive rendering to specific viewport, so that it does not change when you switch to another viewport, go to Render Setup and with the viewport of your choice selected, press the small lock button at the top of the window. If the lock icon was already enabled, you may need to disable it, select another viewport, and enable it again.

Note: this will not lock IR to your currently selected camera, so if you switch to another camera or perspective view within one viewport, IR will update anyway. This only locks IR to a single viewport. 




2. IR is rendering black screen only!

This could mean there is no light in your scene. Make sure you have added at least one light source.



3. Interactive rendering is not working!

Please see this guide for possible solutions.



4. How to optimize CPU usage when using interactive rendering?

Interactive rendering, just like regular rendering, fully utilizes the available computing power, may sometimes result in increased heating and CPU fan noise. To reduce these, you can use:

  • The # threads override option in Render Setup > System > System Settings > Interactive rendering. The default value of -1 means that all available CPU threads except for one will be used for IR. 
  • "Max passes" option in Render Setup > Performance > Performance Settings > Interactive rendering. It limits the number of passes rendered in the interactive mode.



5. Interactive rendering is blurry or pixelated!

See this guide: Rendering has low quality!