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.
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.
Whether the empty pixels in the image should be transparent, or use the background color. This only applies when saving as PNG.
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.
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.
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
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.
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.
Use OpenCL is checked.
Range: 1 – number of cores
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.
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.
Use OpenCL is unchecked.
Default: 0.025 (256 iters with a 10k sub batch size)
Range: 0.01 – 1.0
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.
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.
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
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.
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.
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.
Scale the scale parameter by the percentage difference between the original width and the final width.
Scale the scale parameter by the percentage difference between the original height and the final height.
The quality of the final output image expressed as the number of iterations per pixel.
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
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
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
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.
The number of iterations required to render the image.
The folder to where the output images will be saved to, and the extension to save them with.
Open will open the folder location in an explorer window.
The prefix to prepend to all image and Xml files.
The suffix to append to all image and Xml files.
Progress and control
The percentage of the entire rendering process of all images which has completed.
The percentage of the iteration step in the current image render which has completed.
The percentage of the density filtering step in the current image render which has completed.
The percentage of the final color correction and spatial filtering step in the current image render which has completed. This is almost always instantaneous.
Begin the rendering process. If a render is already running, it will be stopped before starting the new one.
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.
Stop the rendering process.
Stop the rendering process, close the dialog and return to the main window.