Matchbox is an interactive development tool that allows you to run generic OpenGL Shading Language (GLSL) shader code directly
in Batch or through the desktop module, 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, like using a Z-depth pass, for example.
The Matchbox node populates the user interface dynamically, based on the parameters required by the shader. You can also design
and implement more sophisticated interface elements and naming, through the use of an XML sidecar file. A utility is included
to test your shader code and help you create the sidecar XML UI file, if needed.
Re-purposing of existing effects is easy, since Matchbox shaders are simple generic GLSL fragment shader code, with no encryption,
and no required customization. Included are a number of useful example shaders, that can be used as is, or serve as starting
points for you to develop your own tools. Some of the included example shaders are:
- Vignetting
- Fabric
- Cross Hatching
- NaN Replace
- Switcher
- Ripples
- Twirl
- Warp
- Posterise
- Z-Glow (multipass shader)
- Z-Rays (multipass shader)
- Median Filter (multipass shader)
Accessing Matchbox
You can access the Matchbox effect in the following ways:
- As a Batch or Modular Keyer node. The node 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.
- From the Flame Desktop. Select Flame FX2, then click Matchbox. The white cursor appears to select the destination, then the
Load Shaders browser opens automatically for you to select a .glsl file. Once you click Load, you are returned to the Desktop to select the inputs for the chosen shader.
- From the Smoke EditDesk. Select Flame FX2 from the A/V Tools box, then click Matchbox. The white cursor appears to select
the destination, then the Load Shaders browser opens automatically for you to select a .glsl file. Once you click Load, you are returned to the EditDesk to select the inputs for the chosen shader.
Most of the Matchbox menu is generated dynamically based on the GLSL (and optional XML) code, but there are a few UI elements
that are constant.
- Name field
-
This locked field displays the name of the current shader.
- Change Shader button
-
Click to open the file browser to select a different shader.
- Regen button
-
Enable to automatically update the image as settings are changed.
- Output Resolution box
-
Select an output resolution for the effect. If you select Custom, settings appear with presets and custom options.
- Output Width field
-
This locked field displays the width of the selected output resolution.
- Output Height field
-
This locked field displays the height of the selected output resolution.