Matchbox is an interactive development tool that allows you to run generic OpenGL Shading Language (GLSL) shader code, to add specific functionality, or create custom effects. GLSL is a high-level shading language that is part of the OpenGL specification.
Because of the nature of GLSL fragment shaders, Matchbox works well on image processing effects. You can however, create simulated 3D effects using a number of image processing techniques, such as a Z-depth pass, for example.
The Matchbox node populates the user interface dynamically, based on the parameters required by the shader. By default, Matchbox has six physical inputs, but you are not limited to the amount of actual inputs you can use in the effect, since you can use the same image for more than one input. You can also specify colours as inputs, such as black or white; in this case, you may need to select User Defined in the Output Resolution box in the Matchbox menu to be able to view the colour result.
Re-purposing of existing effects is easy, since Matchbox shaders use simple generic GLSL fragment shader code, with no required customization. Included are a number of useful examples and presets, that can be used as is, or serve as starting points for you to develop your own tools.
Matchbox shaders can also be used as timeline transitions. Flame Assist also includes some Matchbox transition presets (see Using Matchbox as a Transition). The Matchbox XML schema contains tags to identify if the shader is designed as a Timeline FX or a Transition. The tags ShaderType and SoftwareVersion are added automatically to the XML by the shader_builder script.
Matchbox can be accessed from multiple places:
Timeline, then use Batch FX (see Creating Batch FX).
Timeline, then add Timeline FX from the Effects ribbon (see Adding Timeline FX).
The Modular Keyer, then select a node from the Node bin.
When selecting a Matchbox shader from the file browser, you can use the File Format box to display shaders in .glsl format or encrypted Matchbox .mx format. Some more efficient, complex, or sophisticated effects can be split into multiple passes. Make sure to select the parent .glsl shader from the browser if you want to load a multipass Matchbox shader (the .mx format packages all passes into one file).