CONCEPT
Janus is a layer render pass system. The fundamental concept is based around two entities: groups and commands (a.k.a render pass, render layers).
Groups are a collection of Layout items, which may include cameras, meshes, and lights. Groups have certain properties:
- Property overrides: these are settings that change item-centric render properties (i.e. UnseenByCamera, Clip Maps), and plugin handlers (i.e. displacement plugins). Applying overrides to a group affects all items assigned to that group.
- Type: known as group type; a pre-set property override. Instead of setting property overrides by hand, a preset can be saved by the user, and from which can be assigned to a group as a type. Two 'built-in' type exists in Janus: NOM (nominal) and NULL and is explained in the Groups in Detail section.
Commands are instructions that changes scene settings and item parameters. In Janus, commands are synonymous with 'render pass' or 'render layers'. They instruct Janus how to apply item-related settings onto groups, and how to change scene settings based on the pass.
In their very basic form render pass commands take the form of text. Although the Janus interface has evolved so that you can deal with render passes without typing anything, it is necessary to know how they function. They have syntax rules. In its basic form, it must contain at least three elements separated by a dot (.). These three elements are, in order: command type, layer type, and target group. A command may look like this:
Here are the properties of commands:
- Type: known as command type; a pre-set collection of saved parameters. This operates in the same way as group types, such that a series of parameters are saved as a type, and then it can be recalled by assigning that type with the command. A command type may change the settings of groups of items, such like light intensity, shadow parameters, or even change scene setting like backdrop color and radiosity type.
- Layer Switch: a toggle between BG or FG, which stands for background and foreground, respectively. This parameter serves as a switch so that the command type's functionality is modified and given new meaning depending on the switch. This switch was designed and named after compositing principles of background and foreground elements. The BG and FG switches are of a slightly advanced nature, and as such, users do not need to depend nor utilise them. But as you will see in the tutorials, they are very efficient and speeds up the set-up process.
- Subcommand: the actual parameters and values being changed within a command. A command is collection of subcommands.
- Target Group: also known as active group; a command acts upon a single specified group, and this group is the target group; this tells Janus to apply particular parameters to the target group as distinct from the other groups associated with the command. Although render passes can have multiple active groups, the behaviour of Janus is to treat any associated group that has the same name as the target group to be the default active group.
- Associated Group List: a list of groups that is associated with the command. A command affects the groups it has; one group in the list may be a target group, and treats this group differently from the other groups, which are called other or contributing groups.
The command type is always the first element, and the layer type is always the second element. The target group is the last element in a command- note last, not third. Scene commands (e.g. subcommands) may be inserted after the layer type. The target group is always the last element.
How Render Pass Commands Are Run
So, let's back up and see what happens when a render pass command is run. When the command is executed, it will retrieve all pre-set parameters for its command type. The command type has different parameters to apply depending if the command is switched for BG or FG operation; then the command type carries instructions to the associated groups. First it it will apply all parameters designated for the other groups; then it will process the active group, if there happens to be any. Subcommands are retrieved and apply scene-related settings (i.e. backdrop images, image filter plugins, etc.)
Commands, in general, will have its own section here in the documentation due to its complex nature. Its details are listed in the Commands in Detail section.
Groups and commands are intrinsically related and are connected through the concept of associated groups. The Group - Command Relationship section explains this.