If you have worked with an image or video post-processing tool then you have most probably heard about layers and the underlying concept. The most obvious advantage of layers is that you can easily control visibility. It is possible to turn the visibility of certain layers on or off with a single click. Another, very convenient, property of layers is grouping. You can combine various elements of a scene and add them to a single layer. It is also possible to change the order of a layer and activate or deactivate certain functions. Finally, layers can act like groups and help you to keep an overview of the elements in your scene.

All these characteristics make layers very interesting for use with RealFlow, because there you often have to work with large amounts of different node types and individual settings. Of course, you could group the individual elements manually and make your settings globally for all members, but the new layer system is much more comfortable, flexible and provides a sophisticated, time-saving workflow. The advantage is that you have a control centre for all layers that is independent from the "Nodes" panel. But, RealFlow's layer system can do even more for you, because you have direct access to the members' "Export Central" settings.

Layers can also be addressed with RealFlow's C++ and Python APIs. For more information about the available functions, please have a look at RealFlow's internal scripting reference (Python) or the doxygen HTML reference in RealFlow's program directory under

sdk > doc > doxygen > html > index.html

The Layer Concept

A RealFlow layer is defined through some properties which make it unique. The most important property is the layer's name. You can even use layers with the same name as long as they belong to different types (“Visibility” or “Simulation”). The name is the layer's identifier and once you have created a layer, you can start adding nodes. These nodes are called members, but a layer does not necessarily need members – it can remain empty or be loaded later.

The idea behind this concept is that you can group nodes within a layer to change attributes and properties for each layer individually. The members' properties can be changed directly in the layer's interface and will then affect all nodes of the same layer, but it is also still possible to control or change the attributes of each node separately in the appropriate "Node Params" window. This state is called “Multiple”. On the other hand, when the user changes a layer's property it will be applied to all members, independent from their previous state or settings. Finally, a layer's attributes will also be updated when changes occur in any of its members.

Another important feature is that layers can share members and a node can also belong to more than one layer.