ISF Shader
Click here to watch a video tutorial about ISF Shader.
This device was specifically designed to make it easier to interact with ISF shaders in Live. Generator-type shaders and effect-type shaders can both be loaded into the device, the only difference being that effect-type shaders manipulate textures that are fed into the device, and generator-type shaders generate visuals on their own, effectively "overwriting" any incoming texture.
Any of Videosync's effects can then be used to further manipulate the generated visuals by ISF Shader. Using multiple ISF Shader devices in the same chain is also supported, so generator-type shaders can be manipulated with effect-type shaders, effect-type shaders can further manipulate effect-type shaders, and so on.
Shader library
The device comes with a curated collection of over 200 shaders, which can be directly accessed through the integrated browser in the Factory folder. The Factory and User folders are installed during the installation process and can be found at User Library/Videosync/ISF Shaders/
.
It is also possible to drop a shader file from the Finder into ISF Shader. More ISF shaders can be found at editor.isf.video, where you can browse, preview and interact with shaders created by a broad community.
ISF Shader only supports files with the .fs
extension.
Controlling the user interface
The column of round toggles on the left side is used to show or hide sections of ISF Shader.
- Show/Hide Browser: This selector shows or hides the Shader Browser.
- Show/Hide Configure Window: This selector shows or hides all available shader parameters in a floating window. Use the Configure Window to map the shader parameters to the Parameter Controls in the device, which, unlike the parameters in the floating window, are automatable.
- Show/Hide Parameter Controls: This selector shows or hides the Parameter Controllers.
- Show More Parameter Controls: This button increases the number of visible Parameter Controls.
- Show Less Parameter Controls: This button decreases the number of visible Parameter Controls.
- Show/Hide Information Panel: This selector shows or hides the Shader Information Panel.
Use the tabs below to read about ISF Shader's different user interface panels and its parameters.
- 1. Browser
- 2. Information Panel
- 3. Configure Window
- 4. Parameter Controls
The left most section of ISF Shader is the Browser, which allows for browsing through the included Factory shaders, or any custom shaders inside the User folder. Both folders are installed into User Library/Videosync/ISF Shaders/
.
Parameters
- Factory/User: The browser is populated with all shaders found in the selected folder.
- Browse: Opens a dialog to browse for a shader file.
- Show: Populates the browser with the shaders that fall under the selected category, within the current folder.
Starting with the selected shader name at the top, this section shows some information about the selected shader in the center panel: Categories, Credits and Description. Aside from this, the center panel also displays errors that are thrown by Videosync when it fails to compile the selected shader. This is very helpful when writing your own shaders, especially in combination with the buttons described below.
Parameters
- Edit File: Opens the currently selected shader file in a default text editor. If no default application is configured yet for files with the
.fs
extension, you will be prompted to select an application in which to open the shader file. - Open Enclosing Folder: Opens the folder that contains the currently selected shader file.
The Configure Window contains all the parameters of the shader, so it may look different with every shader that's selected. After selecting a shader, the first 16 parameters of the shader are mapped automaticallly to the 16 Parameter Controls. The Unmap All toggle at the top will unmap all of the parameters, so a manual selection can be made instead. Only Parameter Controls can be automated and modulated.
This window can be opened and closed with the Wrench button.
Parameters
- Reload: Reinitializes ISF Shader, effectively resetting all made changes and remapping all Parameter Controls.
- Map/Unmap All: Automatically maps as many shaders parameters as possible to the available 16 Paramater Controls, or unmaps all of them at once.
After selecting a shader, the first 16 parameters of the shader are mapped automaticallly to the 16 Parameter Controls. Reveal up to 16 parameter controls with the + button and hide up to 15 with the - button.
Parameters
- Parameter Controls: Use these dials to control, automate and modulate shader parameters. Open the Configure Window to map shader parameters to the Parameter Controls.
Shaders with image inputs
Some shaders, and certainly Transition shaders, have image inputs. These can be compared to audio sidechain inputs. Whenever the currently selected shader has an unused image input, the following message appears in the Information Panel:
In case of the Burn shader, which is a Transition shader, the Configure Window contains two dropdown menus: startImage
and endImage
. These can be used to select the two tracks for which to create a transition.
In the image below, ISF Shader is on track 1, and both its image inputs are set to Video 1 and Video 2. The Audio To outputs of the latter two tracks are set to "Sends Only", so that their output will only be visible in track 1. Muting the two tracks will achieve the same result, as long as the Sends aren't used.
While browsing through different Transition shaders, the selected tracks for the startImage
and endImage
are retained.
Editing shaders
ISF shader files are actually just text files that can easily be modified with a text editor. One example where this may be convenient is when some parameters of a shader don't seem to describe their function as accurately as you may prefer, perhaps because the names are too long to fit above the dials. In this case it could be helpful to abbreviate parts of the name.
Below is an excerpt of the code of the Optical Flow Distort shader. Look for the "LABEL"
tags; these are the names that will appear above the dials in ISF Shader. Make sure to look for any other places in the code where the same name is used, to make sure it matches with the new name.
{
"CATEGORIES": ["Distortion Effect"],
"DESCRIPTION": "Uses an optical flow mask to create a distortion",
"ISFVSN": "2",
"INPUTS": [
{
"NAME": "inputImage",
"TYPE": "image"
},
{
"NAME": "amt",
"TYPE": "float",
"MAX": 1,
"DEFAULT": 0.5,
"LABEL": "Distortion Amount",
"MIN": 0
},
{
"NAME": "maskHold",
"TYPE": "float",
"MAX": 1,
"DEFAULT": 0.98,
"LABEL": "Flow Persistence",
"MIN": 0
}
]
}
Error handling
After opening a shader file using the Edit File button, saved changes will immediately be applied by Videosync. Whenever a shader can not be compiled, errors are reported in the Information Panel, as well as in the Console window. These errors should help to resolve the issues preventing Videosync from compiling the shader.
Custom interfaces for ISF Shaders
Besides using ISF Shader to load shaders, Videosync also supports building your own device interface for a shader, using Max for Live. For more information, see Building Plugins.