Interactive Rendering

The fields in this tab govern the behavior of the interactive renderer. Some of them are duplicated on the toolbar.

Early clip

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

Note that checking this will cause various color-related changes to restart the process at the density filtering stage, rather than the spatial filtering stage, which will make their updates slightly slower.

Positive y up

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

Transparency

Whether to use a transparent background. This has no effect on the output window since it will always have the same color as the flame’s specified background color.

Continuous update

Whether to continuously update the output window as the rendering process progresses. Disable to only update on mouse move and when the process completes.

Save 16-bit png

Whether to use two bytes per channel per pixel when clicking Save Current Screen on the main window toolbar and saving as a png file. This is for users who need extreme color depth.

Scale and rotate with shift

Whether to allow scaling and rotating at the same time when dragging the X or Y axes of the xforms while holding the shift key. Scale only if unchecked.

Flam3 compatibility

Whether to render using flam3/Apophysis formulas for the following variations: cos, cosh, cot, coth, csc, csch, sec, sech, sin, sinh, tan, tanh.

Use Chaotica formulas for those variations if unchecked.

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.

This checkbox maps to the toolbar buttons labeled CPU/CL.

Shared texture

Whether to have the memory space where the final output image is stored in OpenCL be shared with the OpenGL texture used to display the interactive renderer.

This is an optimization, so you should try to use it when using OpenCL.

For some dual GPU systems, using a shared texture will not work. So by unchecking this, it allows you to still use OpenCL with a slight performance drop due to using a non-shared texture.

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 interactive rendering on the GPU unless you have an extremely fast graphics card with double precision support.

This checkbox maps to the toolbar buttons labeled SP/DP.

Show all xforms while dragging

Whether to show all xforms, or only the current one, while dragging.

Note this setting is only observed if the Show radio button on the Affine tab is set to All.

Right click toggles spinboxes

Whether to use right clicking as the mechanism to toggle spinbox controls. The default behavior is to use double click for toggling.

Note that when this is selected, dragging with the right mouse button down does not adjust spinner values, and double clicking selects the text in the spinbox.

Load last on start

Whether to load the flame file that was last open when the previous run of the program was shut down. If unchecked, random flames are created on startup.

Note this does not actually load from the direct path of the file. Instead it loads a temporary copy. You will need to save it back to the original path when you save for the first time.

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 is connected to your display.

Threads

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

Using one less than the total number of cores can give a more responsive UI at the expense of rendering performance.

Disabled if Use OpenCL is unchecked.

Range: 1 – number of cores

Randoms

The number of random flames that will be generated on program startup, and any time the user clicks File | New Flock. Set to 1  if you are not interested in random flames.

Range: 1+

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.

Higher values give better preview images, but a less responsive UI. Decrease this value if you have a slower video card.

Disabled if Use OpenCL is unchecked.

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

Range: 0.01 – 1.0

OpenCL sub batch

The number of sub batches of ~8 million iterations to run on each mouse movement. Values between 1 and 3 are recommended.

Higher values give better preview images, but a less responsive UI. Decrease this value if you have a slower video card.

Note that since the number of iters performed in a single kernel launch for the OpenCL renderer is so large, low quality renders can complete on the first launch. In that case, full density filtering will be performed when DE Filter Max Radius on the Flame tab is non-zero, which can give a choppy UI. In such cases, increase the quality a bit to prevent the render from completing so quickly.

Disabled if Use OpenCL is unchecked.

Default: 1

Range: 1+

CPU sub batch

The number of sub batches of 10,000 iterations to run on each mouse movement. Values between 1 and 10 are recommended.

Higher values give better preview images, but a less responsive UI. Decrease this value if you have a slower processor.

Disabled if Use OpenCL is checked.

Default: 1

Range: 1+

OpenCL quality

The default quality to use in the interactive renderer when rendering with OpenCL.

Higher values give better preview images, but a less responsive UI. Decrease this value if you have a slower video card.

Disabled if Use OpenCL is unchecked.

Default: 30

CPU quality

The default quality to use in the interactive renderer when rendering with the CPU.

Higher values give better preview images, but a less responsive UI. Decrease this value if you have a slower CPU.

Disabled if Use OpenCL is checked.

Default: 10

CPU filtering

The type of filtering to perform for preview renders on each mouse movement when using the CPU renderer. Log scaling is recommended for all but the fastest processors. However, if you have a very fast processor and want to see a more realistic representation of what the final output image will look like on every mouse movement, select the Full DE option.

This has no effect if the value of DE Filter Max Radius on the Flame tab is 0 since only log scaling will always be done.

Disabled if Use OpenCL is checked.

OpenCL filtering

The type of filtering to perform for preview renders on each mouse movement when using the OpenCL renderer. Log scaling is recommended for all but the fastest video cards. However, if you have a very fast GPU and want to see a more realistic representation of what the final output image will look like on every mouse movement, select the Full DE option.

Note that as stated above under OpenCL Sub Batch, even if this option is set to log scaling, full DE might get performed on each mouse movement for low quality renders.

This has no effect if the value of DE Filter Max Radius on the Flame tab is 0 since only log scaling will always be done.

Disabled if Use OpenCL is unchecked.