Table of Contents

This page provides information on the Corona VFB, its settings, and usage.


Corona includes its own Virtual Frame Buffer (VFB) window and interface that has been tuned to the most common needs of artists and can provide a very decent post-production experience and results.


Corona VFB (Virtual Frame Buffer)

Corona VFB Buttons


Saves the render element currently displayed in the VFB using a specified file format.

Press and hold the "Save" button:

Save allSaves each render element as a separate file using a specified file format.

Save CXR Stores all the information from the VFB (all render elements, including the LightMix, tone mapping, denoising data, etc.) inside a single CXR file.

Copies the content of the Corona VFB to the native 3ds Max VFB.

Copies the render element currently displayed in the VFB to the clipboard.

Useful for pasting the content of the VFB into other apps without saving the file.

Forces a VFB refresh. Useful mostly when using very high VFB update interval values.

Clears the VFB.

Toggles visibility of the side panel.

Toggles render region drawing mode.

Left-click and hold to draw a region. Drag region border with Control key to enable "fuzzy regions".

Holding the mouse over the Region button toggles all regions on and off (Disable All), and remove all (Remove All) existing regions.

Allows to pick object from VFB.

Left-click to select an object. Right-click to select and object or set camera focus to the selected point in scene. Works also in interactive rendering.

Selects the render element to be displayed in the VFB.

Zooms in.

Zooms out.

Resets zoom.

Stops the rendering process without discarding any additional data or post-rendering actions.

This is the same as the "Stop" button in the 3ds Max rendering dialog - when denoising is enabled, pressing this button stops the rendering process and proceeds to denoising.

However, Cancel button stops render and discard denoising or post-rendering actions as well as skips saving output files (if were set up).

Press and hold "Render" button:

Render – Starts render.

Start IR Starts Interactive Rendering.

Resume last – Resumes last render.

Resume file – Resumes rendering based on a previously saved CXR file.

Post Tab

Tone Mapping


Contrast – Changes contrast - the difference in brightness between light and dark areas of the image. Values greater than 1 increase the image contrast, and values below 1 decrease it.

Photographic Exposure – Changes overall exposure of the image based on the settings of the currently used camera.

Saturation – C ontrols the overall image saturation, negative values decrease it.

Tint – S ets the overall color tint of the scene. The entire image is multiplied by this color. This can be used both to add and remove color tints from the image. To add a tint, select the color of the tint directly. To remove tint from any rendered object, pick its color using the pick inverse eyedropper in Corona Improved Color Picker.

Vignette – S imulates the real-world camera vignette by darkening the edges of the image.

White Balance Sets the white balance point using Kelvin temperature, often used in photography. Lower temperature leads to a bluish, cold appearance of the image, while higher temperature leads to a warm appearance.

Curve Control

Advanced Filmic Mapping Applies highlight compression and shadow saturation control using Filmic S-curve. Allows more control over the curve compared to the basic Filmic operator. When enabled, the output is always in the interval [0, 1] so the bright pixels are compressed.

Curves – A pplies custom color mapping curves.

Filmic Mapping – Allows highlight compression and shadow saturation control using Filmic S-curve.

Tone Curve – Allows independent control of different tones of the image - shadows (the darkest areas), darks, light, and highlights (the brightest areas).

Highlight control

Reinhard Highlight compression – Compresses highlights in the image to reduce/remove burned-out areas. Increasing the value removes burned-out areas, and decreasing it amplifies highlights.

Final look

ACES OT (Output Transform) – Applies approximate ACES Output Transform which is consisting of Reference Rendering Transform (RRT) and Output Device Transform (ODT).

LUT – Changing the overall look of the image by applying a predefined LUT.

The effect of this operator may not be unmapped correctly in CoronaTonemapContol, especially with the logarithmic option enabled or opacity set lower than 1.

Bloom and Glare

Size Increases/decreases bloom and glare size.

Bloom intensity Increases/decreases bloom intensity.

Glare intensity Increases/decreases glare intensity.

Threshold Controls the minimum brightness which is considered for the Bloom and Glare effect. Increasing the threshold applies Bloom and Glare only to the brighter pixels. Reducing it allows the Bloom and Glare effect to be applied to pixels that are less bright.

Color intensity Controls how saturated the Bloom and Glare effect is. Higher values mean higher saturation.

Color shift  Changes the hue of the coloring added to the Bloom and Glare effect. 

Streak count  Defines the number of streaks for the glare effect. 

Rotation  Rotation of the glare effect in degrees.

Streak blur – D ecides whether the glare streaks should be sharper or more blurry.

Custom aperture  Launches an editor which can be used to fine-tune advanced Bloom and Glare options.


Sharpen amount The value that is used to control sharpening.

Sharpen radius Defines the sharpness radius.

Blur radius Defines the radius of blur.


Denoise amount The main value that is used to control denoising. It blends between the original (noisy) image and the fully denoised version of the image, where 0 is the original image and 1 is the purely denoised version.

Stats Tab


Scene parsing – How long it took to get the data from the native application format to the internal Corona format. Excessive times (more than a few seconds or tens of seconds for complex scenes) can be caused by running out of RAM, using slow network drives, complex scatters and geometry models, etc.

Geometry How long it took Corona to prepare the geometry for rendering. This includes computing displacement, building, and acceleration structure, and preparing the lights for sampling. Excessive times (more than a few seconds or tens of seconds for complex scenes) are most often caused by using too detailed displacement, using too detailed displacement, using too many textured lights, or running out of memory.

UHD cache precomp How long it took to calculate UHD cache. The time depends on resolution, scene complexity, and UHD cache settings ( animation preset calculates significantly longer, but it does not flicker in animation).

Rendering Total elapsed rendering time.

Denoising How long the denoising took. Denoising is optionally computed after rendering. Its running time is dependent only on resolution (number of pixels) and the number of render elements to be denoised - it has to run from scratch for each element.

Estimated remaining If any render limit is set (time, passes, or noise level), Corona computes the best possible time estimate. If no limits are set, '—' is shown and the user has to stop the render manually.

The real remaining render time can differ and this estimate is frequently updated.

TOTAL elapsed the total elapsed rendering time.


Primitives unique Numbers of unique (non-instanced) primitives in the scene. Primitive means a single triangle, hair strand, etc. Each such primitive is stored in the memory, so this number is directly proportional to the RAM usage (1 primitive takes up about 200 Bytes).

Primitives displac. The number of unique (non-instanced) micro triangles created by displacement in the scene. Each such object takes a certain amount of memory but is generally an order of magnitude smaller than regular triangles.

Primitives inst. The number of primitives in the scene after instancing allows storing a single object in the memory just once and placing it into the scene multiple times with almost no additional memory usage. This is extremely useful e.g. for forests, grass, etc.

Geometry groups The number of unique geometry groups in the scene. One geometry group roughly corresponds to one separate mesh/object in the source scene, not counting instanced meshes. This number does not significantly influence the performance/memory usage, with a single exception; high values (thousands and more) can slow down the preprocessing phase.

Instances Number of geometry groups in the scene after instancing is applied. Each instance takes about 1000 Bytes of memory.

Lights (groups) – The first value is the total number of light-emitting primitives in the scene and the second value is the number of instances that contain these primitives. High values usually mean a scene with complex illumination, where slower rendering is to be expected. Only true light emission counts - neither self-illumination nor Light material with Emit light off.

Instancing is disabled for the light-emitting primitives, so applying Light material to a heavily instanced geometry (such as a forest) can cause a surprising increase in the preprocessing time and memory usage.

UHD Cache

Records Numbers of discrete points in the scene for which the illumination is computed during preprocessing and which are used for the interpolation during rendering. Complex scenes and animations, where higher precision is required, cause this number to increase, which in turn makes the precalculation slower.

Success rate The percentage of rays that were accelerated using the cache. This is the effectiveness of the cache, e.g. 70% meaning that 7 out of each 10 rays were accelerated. The higher this number, the faster is the rendering as more rays are accelerated.


Passes total – The total number of passes computed. One pass in Corona means that each pixel received on average 1 sample. The number of passes directly influences the quality of antialiasing, the depth of field, and the motion blur effects. Smaller images accumulate passes faster there are fewer pixels to process. Also if Rays/sample is too high then too much work is spent per pixel, causing the number of passes to stay low, which slows down the antialiasing/depth of field/motion blur computation. A limit for the number of passes can be set in render settings.

Noise level – An estimate of the remaining noise level in the image. A limit for the noise level can be set in render settings, around 2% usually being enough for the final images, 5% for the final images with denoising, and anything higher than that being suitable for the previews.

Unlike the number of passes that increases linearly in time, the noise level decreases nonlinearly: the necessary time to halve the error (for example from 10% to 5%) is 4 times longer.

Rays total – The average number of rays computed per second since the render started. Rays/s is a measure of the brute force computation power of the renderer. Comparing rays/s between different machines is a good way to compare their CPU performance. The number is also higher in simple scenes when using simple materials. A too low number (lower than usual for the machine) can mean problems with CPU overheating, running out of RAM, other CPU utilization problems, or just having too complex materials/shaders.

Rays actual – Number of rays computed in the last second. Rays/s is a measure of the brute force computation power of the renderer. Comparing rays/s between different machines is a good way to compare their CPU performance. The number is also higher in simple scenes when using simple materials. A too low number (lower than usual for the machine) can mean problems with CPU overheating, running out of RAM, other CPU utilization problems, or just having too complex materials/shaders.

Samples actual – Number of pixel samples computed in the last second. This is the rate of how fast the anti-aliasing, depth of field, and motion blur are computed. This number is the rays/s statistic divided by rays/sample.

Rays/sample How many rays are needed to compute a one-pixel sample. This is the measure of the shading complexity of the scene, with high numbers meaning that a lot of work needs to be done to compute each pixel. This can be caused by using too complex shaders (with ambient occlusion and rounded edges), materials having too high albedo, or using too high GI vs. AA balance.

VFB refresh time How long the VFB window takes to redraw last time.

Preview denoiser time How long it took to denoise the VFB image.

History Tab

Store Current VFB Stores the contents of the current VFB in the history.

Clear A/B Disables the history comparison and shows the current render only.

Delete All Deletes all items from the history and from HDD.

Show with original postprocessing Shows the stored content with original postprocessing.

DR Tab

The DR Tab provides information on Corona Distributed Rendering.

Please note that the example image is for illustration purpose only and may not be an exact representation of the values you see.

DESKTOP - JNG8Q9H – Resolved name of the render node.

Updates Displays the count of how many times the render node has sent the rendered data to the master machine.

Passes – Displays the current number of passes render node has rendered.

Rendering – Shows the current stage of the rendering (Starting, Rendering, or Finished)

17.1 GB / 31.9 GB – Committed/Physical RAM installed in the system.


After at least one Lightselect and one LightMix render element are added to the scene - the interactive LightMix tab will be enabled. 

Check Corona LightMix for more information.