Please note that this is a BETA version of the document. All information presented is correct but we are working on improving the details. |
Compound
█ Video
A rendered video frame or image.
A frame can be of any size up to 8K. Video source modules typically allow specifying arbitrary output sizes. If unspecified, the default system Frame Size is used, which can be set in Preferences /Rendering.
Image and Video Player modules, of course, always output a frame size corresponding to the source file.
Video frames can have various pixel formats. When the frame is coming from an image file, its format corresponds to the file format. Other video source modules usually enable choosing between Low and High Dynamics Range (HDR) output, which are 8 bits per channel RGBA (LDR) and 16/32 bits per channel floating point RGBA formats (HDR).
HDR formats are 16 bits per channel by default. That can be changed in Properties / Rendering.
A Video also can be a special texture: texture array, cube map, or volume texture that can be fed into specific shaders.
When a video postprocessing module combines two or more inputs into a single output (blending, crossfading, masking, etc.) it usually sets the output size to the largest frame size and the widest pixel format of the inputs.
A video frame can be combined with a depth map, usually when outputted from a Camera module. Specific modules use depth map information for various purposes. Generally, all post-processing modules that don't distort or resize the image pass through the depth map without modification.
█ Audio
Audio data is represented by a per-frame set of audio samples.
Audio can have an arbitrary number of channels. Audio input modules usually output two stereo channels, but for e.g. a video input from an SDI gives 16 channels.
Audio postprocessing modules usually deal with a single channel only, but a series of modules deal with splitting/merging/downmixing channels.
The audio sampling frequency is constant at 48kHz according to the frequency mostly used in video systems.
█ Scalar
A 32-bit floating-point numeric value.
█ Double Precision Scalar
A 64-bit floating-point numeric value.
█ Vector
An arbitrary number of 32-bit floating-point numeric values.
It either can represent a scalar (1D vector), a 2D, 3D, 4D, etc. vector, or an arbitrary length data array.
In the case it is connected to a scalar or integer pin, only the first element is used. In the opposite direction, when a scalar or integer value is connected to a vector pin, it is treated as a one-element vector.
█ Integer
A 32-bit integer numeric value.
█ Logical
An ON/OFF switch value.
In the case it is connected to a numeric pin, it appears as a 0 or 1 value. In the opposite direction, when a numeric value is connected to a logical pin, 0 is treated as OFF and all other values as ON.
█ Trigger
A signal pulse value outputted by various modules to signal a specific event (e.g. reaching the end of something) that can be used to start/stop various animations or timing functions.
Essentially it’s a Logical value where OFF to ON transitions represent the moment of signaling. The ON state lasts for a single frame, then drops back to OFF.
█ Color
A 32 bits per channel floating point RGBA value.
The normal interval for the channels is 0 - 1. Values above 1 are used for HDR imaging.
In the case it is connected to a vector pin, the value is converted into a four-element vector. In the opposite direction, when a vector value is connected to a color pin, the first four elements are used. If the vector is three-element only, the alpha is set to 1. If the vector is two-element only, blue becomes 0. When a scalar value is connected, it becomes a gray level.
When a color value is edited in the Pin Values editor, it appears as two components: a usual 8 bits (0-255) per channel RGBA value (the LDR part), and a 32-bit floating-point HDR factor acting as an intensity multiplier.
█ Text
A Unicode text string.
█ Transformation
Represents a spatial position-rotation-scaling that can be applied to various scene objects.
In special cases, it can represent homogeneous space transformations described by a 4x4 matrix, for e.g. a camera’s perspective transformation.
█ Collection
Stores an arbitrary number of named data elements. Each data element can be a scalar, a double, an integer, a logical, or a text, or it can be an entire subcollection thus creating a hierarchical data structure. Elements can be accessed by their name or a period-separated path in the case of a hierarchy.
Importing an XML or a JSON file/text results in a Collection.
█ Configurator
This data type works with a separate application called Aximmetry Performer.
Used when creating Performer patches to enable special configuration interfaces for a module that supports it. If a configurator pin is exposed on the root level of the compound, a corresponding configurator panel appears in the Aximmetry Performer when the patch is selected.
Reference Connections
These pin/connection types do not represent any kind of data flow, instead, designate specific relationships between modules.
█ Sequence Track Reference
Connects a Sequencer to its various track modules thus creating tracks in the Sequence Editor.
█ Video Co-player Reference
Video Player module can cooperate with special co-player modules that extract extra per-frame information from special video files, for e.g. depth map.
█ Scene Object Child Reference
Designates a parent-child relationship between two scene object modules. A child’s transformation is relative to its parent’s transformation.
█ Scene Object Binding Reference
Ties a scene object’s transformation of part of its transformation to another scene object. The target object’s Binding Type value selects the nature of the binding. The most common application is a look-at relationship between a Camera and an object.
█ Affecting Light Reference
Designates which light sources have an effect on a scene node and all of its children.
█ Light Volume Reference
Connects a Light Volume module to the light sources for which the volumetric effect has to be rendered.
█ Graph Node Route Reference
Connects Graph Node modules to each other representing an edge of the graph.
█ Transmitter Reference
Transmitter modules can be connected to a Scene Node designating that only that node and its children can see that specific tunnel.
█ Paint Object Child Reference
Designates a parent-child relationship between two paint object modules. A child’s transformation is relative to its parent’s transformation.
█ Path Element Reference
Used to chain the graphic elements of a Paint Path module.
█ Touch Reference
Connects a Touch Receiver to the client modules that use its touch inputs.
█ Recorder Reference
Connects an Input Recorder to the module from which data is to be recorded.
█ Data Stream Reference
Connects a Data Stream to the module from which data is to be recorded.
Shader
█ Texture
█ Texture Array
█ Cube Texture
█ Volume Texture
Video data connected to a shader appears as a texture inside the shader.
On the compound level, there are no differentiated pin types for these texture kinds, but the shader design must be very specific on that matter.
█ Scalar
A 32-bit floating-point numeric value.
█ Vector
A four-element XYZW vector consisting of 32-bit floating-point numeric values.
It either can represent a scalar (all components are equal), or a 4D vector. Certain modules only use the 2D or 3D slice of the vector.
In the case it is connected to a scalar or integer pin, only the first element is used. In the opposite direction, when a scalar or integer value is connected to a vector pin, it is treated as an all-equal vector.
█ Integer
A 32-bit signed integer numeric value.
█ Unsigned Integer
A 32-bit unsigned integer numeric value.
█ Logical
An ON/OFF switch value.
█ Color
A 32 bits per channel floating point RGB value. (Alpha is not included, it is handled separately in the shaders.)
The normal interval for the channels is 0 - 1. Values above 1 are used for HDR imaging.
When a color value is edited in the Pin Values editor, it appears as two components: a usual 8 bits (0-255) per channel RGBA value (the LDR part), and a 32-bit floating-point HDR factor acting as an intensity multiplier.
█ Transformation
Represents a spatial position-rotation-scaling described by a 4x3 matrix. It can be used to transform spatial position or direction vectors.
█ Homogeneous Space Transformation
Represents a homogeneous space transformation described by a 4x4 matrix, for e.g. a camera’s perspective transformation.
█ Array
An array that can contain up to 64 indexable float values. The data type can be accessed by the Array Scalar, Array Vector, and Array Color modules. Array inputs are exposed as Vector pins in the scene compound.
█ Sampler State
Assigns a sampler state definition to a sampler module.
█ Rasterizer State
Assigns a rasterizer state definition to a pixel shader output module.
Use it carefully, because it overrides the system’s automatic rasterizer state selection based on other shader parameters.
█ Depth Stencil State
Assigns a depth-stencil state definition to a pixel shader output module.
Use it carefully, because it overrides the system’s automatic rasterizer state selection based on other shader parameters.
█ Blend State
Assigns a blend state definition to a pixel shader output module.
Use it carefully, because it overrides the system’s automatic rasterizer state selection based on other shader parameters.