ISF stands for “Interactive Shader Format”, and is a file format that describes a GLSL fragment shader, as well as how to execute and interact with it. The goal of this file format is to provide a simple and minimal interface for image filters and generative video sources that allows them to be interacted with and reused in a generic and modular fashion. ISF is nothing more than a (slightly modified) GLSL fragment shader with a JSON blob at the beginning that describes how to interact with the shader (how many inputs/uniform variables it has, what their names are, what kind of inputs/variables they are, that sort of thing). ISF isn’t some crazy new groundbreaking technology- it’s just a simple and useful combination of two things that have been around for a while to make a minimal- but highly effective- filter format.
ISF is a very simple file format, and has more inherent limitations than QC/CI/Vuo/FreeFrame. That being said, a tremendous amount is still possible with a multi-pass fragment shader- and the format’s simplicity means that ISF media generally runs faster and has fewer bugs and problems than other formats, while also being faster and easier to put together.
The open-source ISF Editor is distributed with VDMX in the “Extras” folder on the dmg, and VDMX also installs nearly 200 ISF files- both generators and filters- on your system (in /Library/Graphics/ISF) where VDMX and any other software that supports ISF can use them. The ISF Editor also has a built-in installer for a QuickLook plugin that renders thumbnails for ISF files in the Finder. More information about ISF- including our open-source implementation- can be found here: https://github.com/mrRay/ISF_Spec/
When loaded on a layer in VDMX as a source, an ISF generator will provide interface controls such as sliders, buttons, color pickers and pop-up menus to match the inputs specified in the JSON section of the file.
ISF shaders used to generate video can be loaded into VDMX in multiple ways:
- The fragment shader (.fs) can be added to a page in a Media Bin plugin like any other file type, either from the Finder or using the Media Browser panel.
- Generator files located in the /Library/Graphics/ISF and ~/Library/Graphics/ISF directories can be accessed as built-in sources in a variety of places within VDMX, such as the “Use Source” menu in the Layer Source Controls panel.
Making Video FX with ISF
ISF shaders that include an “image”-type input named “inputImage” will be assumed to be image filters.
The ISF FX files can be placed in the “ISF” folder in your VDMX Assets folder, but it’s often more convenient to install them in a more general location where they can be used by other software- /Library/Graphics/ISF and ~/Library/Graphics/ISF are the default locations. Like with generators, any ISF files in any of these folders will be made available in VDMX.
Once installed in one of these directories, ISF FX show up alongside CoreImage, Quartz Composer and FreeFrame FX in listings within VDMX, including the Assets Section of the Workspace Inspector and the Load Asset: menu in the Layer FX panel.
Finding and sharing ISF compositions
Visit www.interactiveshaderformat.com to find and share ISF compositions online.