Processing and Formatting Effects > Flame FX >

# Matchbox

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 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.

#### Topics in this section

- Creating Your Own Matchbox Effects