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.
GLSL is a general programming language for working with the GPU in a computer. It is very powerful and can be used for a very wide range of things. On its own it is very limiting and often it is used as part of a larger host application that often combines multiple pieces of GLSL code (often called shaders) into a final output.
ISF is to designed a standard for working with GLSL in such a way that advanced 2D video generators, filters and mixers can be interoperable between applications and platforms.
Artists who are using GLSL to create generators and FX to create compositions can use any of the shaders that are found on this website by downloading and loading them in host software that supports ISF.
Developers who wish to learn more about supporting ISF in their own applications can visit the ISF Specification page on this site.
The ISF Specification was created and is maintained by VIDVOX as part of our codebase for our VJ software VDMX. You can email us at email@example.com with any questions.
Typically the best place to get started with GLSL is by looking at some of the great shaders on this website and trying to modify them to see what happens.