Final Render Dialog

This dialog allows the user to render flames to an output file. It can render either the current flame, or all open flames. When rendering all, they can either be treated as individual images, or as frames in an animation. If the later is chosen, temporal samples are used to achieve motion blur. All values specified here will be saved between program runs.

Showing it will stop the rendering process and clear the output window.  Closing it will restart the renderer with the values that were being used when it was shown.

The thumbnail shows a preview of what the current flame will look like when it’s rendered. The spinner to the right is populated with all flames in the current file. The one displayed is the name of the current flame and is what will be rendered if Start is clicked with Render All unchecked.

All progress and other output messages are shown in the bottom text box. Also, if any settings exceed available memory, a message will be shown there.

Options

Early clip

Whether to apply color correction before spatial filtering. It’s recommended to only use this if the colors don’t look right.

Positive y up

Whether the positive Y axis points up. Toggling this flips the image upside down.

Transparency

Whether the empty pixels in the image should be transparent, or use the background color. This only applies when saving as PNG.

Use OpenCL

Whether to use the GPU in the rendering process. It is highly recommended that you use this if your video card supports it.

If nothing renders and you get an error message, you must switch back to the CPU renderer.

Use double precision

Whether to use double precision numbers in the rendering process. For some flames, toggling this can produce different images. In those cases, the one with double precision enabled is the more correct one.

This will have a negligible effect on CPU rendering performance so it should always be used.

However, it’s recommended you don’t use this for rendering on the GPU unless you have an extremely fast graphics card with double precision support.

Save xml

Whether to also save the Xml of every rendered image in the same folder the image is saved. This is a useful way of keeping track of exactly what was rendered for later review.

Render all

Whether to render all currently opened flames, or just the current one. When checked, image and Xml output names will be auto generated.

Render as animation sequence

When Render All is checked, whether to use the Temporal Samples value specified to create motion blurring. Disabled if Render All is unchecked.

This should only be used if the file you are rendering was generated as an animation sequence.

OpenCL device table

This table will be enabled when the Use OpenCL checkbox is checked. It displays all available devices and allows the user to choose one or more of them.

Selecting devices follows these rules:

Check the checkbox in the Use column for each desired device.

Select exactly one primary radio button to signify the device that will be responsible for reporting progress, summing the histograms from other devices once iteration is complete, density filtering, spatial filtering and final color correction. Since the primary device handles this additional work, be sure it is the most powerful one in your system.

Do not select CPUs or iGPUs, they are not supported.

Threads

The number of threads to use when using the CPU renderer.

You can use less than the number of cores at the expense of performance if you plan to use your machine during a lengthy rendering process.

Disabled if Use OpenCL is checked.

Range: 1 – number of cores

Priority

The thread priority of the CPU renderer.

You can set this to a lower value at the expense of performance if you plan to use your machine during a lengthy rendering process.

Disabled if Use OpenCL is checked.

OpenCL sub batch percent per thread

The percentage of a sub batch (usually 10k iters) performed per thread per kernel launch.

This is used to squeeze all possible performance out of the GPU by tasking it with more work per kernel launch.

In practice, this increases performance by about 1%, and values greater than 0.2 usually don’t offer any additional performance improvement.

Because operating system drivers only allow GPUs to do a limited amount of work per kernel launch, a value greater than the default of 0.025 runs the risk of crashing the OpenCL driver. So use this sparingly with complex flames, and especially when using double precision. Such a scenario can easily crash a laptop GPU driver when using any value above 0.2.

Disabled if Use OpenCL is unchecked.

Default: 0.025 (256 iters with a 10k sub batch size)

Range: 0.01 – 1.0

Adjustments

Apply parameters to all

Whether to apply the current scale, quality, temporal samples and supersample values to all flames in the list.

This makes it easy to use a uniform set of values across all flames in the file, rather than having to manually set them one by one.

If unchecked, checking applies the current and all subsequent changes to all flames. Unchecking does not restore original values.

Size

The controls in this group box allow for setting the size of the image to something different than what was used in the interactive renderer. It also allows compensating for the new size by zooming in by a proportional amount.

For example, you might have used a smaller size for editing just to make it easier and more responsive. But you want to render an image 5x bigger in both dimensions for a print. In that case, you’d check Keep Aspect Ratio, set the Scale Type to Width and enter the value 5 in the Width Scale spinner.

Width scale

The amount to scale the width of the original image by.

You may also enter an exact width in the adjacent box, and the width scale will reflect the correct amount.

Range: 1.00 – 99.99

Height scale

The amount to scale the height of the original image by.

You may also enter an exact height in the adjacent box, and the height scale will reflect the correct amount.

Range: 1.00 – 99.99

Keep aspect ratio

Whether to keep the aspect ratio of the final output image the same as the original. When checked, scaling one dimension will also scale the other by the same amount.

Scale type

The scaling method to use. This is used to adjust the scale parameter based on the difference between the original image dimensions and the final image dimensions.

None

Do not adjust the scale parameter in response to the difference between the original dimensions and the final dimensions. This is useful for cropping without zooming.

Width

Scale the scale parameter by the percentage difference between the original width and the final width.

Height

Scale the scale parameter by the percentage difference between the original height and the final height.

Quality

The quality of the final output image expressed as the number of iterations per pixel.

Range: 1+

Default: 1000

Temporal samples

The number of temporal samples used to blend between sequence frames during animation.

Even after a sequence has been generated that produces a number of steps between key frames, when performing the animation render, each of those sequence steps is blended between the surrounding sequence steps. Temporal samples is the number of blended steps between each sequence step that get combined into a single output frame.

Note this value does not change the number of iterations done. Instead, each animation frame divides its total requested iterations by the number of temporal samples, then uses that value for the iteration count of each sample.

Values between 100 and 1000 are often used. Higher values will produce more of a smooth motion blurring effect when animating.

When rendering a single image, this value will always be internally set to 1 by Fractorium right before rendering regardless of the value set in the UI.

Range: 1 – 5,000

Default: 1000

Supersample

The value to multiply the dimensions of the histogram and density filter buffer by to help eliminate jagged lines. Values greater than one will greatly impact performance and will increase memory usage. See the Memory Usage field for the effect.

While a value of 2 offers some visual improvement, values greater than 2 usually don’t offer noticeable improvement.

Range: 1 – 4

Strips

Split the render into this many pieces. It will scale the required histogram and density filter buffer memory down by this amount. It will scale the required iterations up by this amount.

This is useful for rendering large images for prints, especially on a GPU where memory is limited.

The strips number must divide evenly into the height of the image, so if it does not, the number in parentheses to the right shows the next highest even divisor that will be used.

Note this is disabled when rendering as an animation, as strips are only supported for still images.

Range: 1 – 64

Memory usage

The amount of memory required for the the entire render, which is the histogram, density filtering buffer and final image.

The memory required to hold the flame itself, density and spatial filter data is omitted from this figure because it’s negligible.

Iterations

The number of iterations required to render the image.

Output

The folder to where the output images will be saved to, and the extension to save them with.

Clicking Open will open the folder location in an explorer window.

Prefix

The prefix to prepend to all image and Xml files.

Suffix

The suffix to append to all image and Xml files.

Progress and control

Total progress

The percentage of the entire rendering process of all images which has completed.

Iteration

The percentage of the iteration step in the current image render which has completed.

Density filtering

The percentage of the density filtering step in the current image render which has completed.

Final accumulation

The percentage of the final color correction and spatial filtering step in the current image render which has completed. This is almost always instantaneous.

Start

Begin the rendering process. If a render is already running, it will be stopped before starting the new one.

Pause/Resume

Pause or resume the rendering process. This is useful if you need to do something else with your machine in the middle of a long render.

Note that pausing only applies to the iteration phase. Pausing during density filtering or final image creation is not supported since they complete very quickly.

Save Again

Save the output of a completed render as a different image format without restarting the rendering process.

Values from the coloring & filtering controls in the main window are applied first before saving. This allows for additional fine tuning of colors without restarting the rendering process.

Note that these values will only be applied before saving when rendering a single image with no strips.

Add Quality

Resume a finished render with a higher quality without restarting the rendering process.

Values from the coloring & filtering controls in the main window are applied after the additional iteration is completed. This allows for additional fine tuning of colors without restarting the rendering process.

Note that adding quality can only be performed on a single image with no strips.

Stop

Stop the rendering process.

Close

Stop the rendering process, close the dialog and return to the main window.