The ISF Primer

This book is about the Interactive Shader Format, aka ISF, version 2.

Chapter 1 - Introduction to ISF

What is the Interactive Shader Format and how is it different from standard GLSL?

In this section we will discuss the basics concepts related to ISF and examine the toolsets that we'll be using throughout the course of this guide.

Chapter 2 - The Anatomy of an ISF Composition

Here we will learn about JSON, GLSL and write our first ISF generator and FX.

Chapter 3 - Using ISF Compositions

A quick overview of some of the toolsets that support ISF and how to make use of your compositions outside of the editor.

Chapter 4 - Data Types, Standard Variables and Functions

A closer look at the various data types and functions provided by GLSL and ISF, and how to create your own functions to create re-usable code.

Chapter 5 - Vertex Shaders

A few advanced examples involving vertex shaders. We will also briefly explore the difference between polar and Cartesian coordinate systems.

Chapter 6 - Convolution

In this section we'll look at Convolution techniques in GLSL, which are used to make blur, sharpen and a number of other standard image filters.

Chapter 7 - Persistent Buffers and Multi-Pass Shaders

Two of the most powerful advanced features of ISF are the ability to create complex multi-stage shaders that can retain information between render passes. Here we will look at some basic examples of how these concepts can be used to create feedback effects, deep blurs and the classic Conway's Game of Life.

Chapter 8 - Audio Visualizers in ISF

ISF includes conventions for working with audio streams to create visualizations of raw waveforms and FFT data.

Chapter 9 - Adapting Existing GLSL Code to the ISF Specification

GLSL is a widely used language and much of it can be adapted to meet the ISF specification with a few minor modifications. We'll also see how to combine complex multi-shader project into a single ISF sketch.

ISF Reference Pages

As you are going through this guide, or writing your own shaders, you may find it useful to keep the ISF Reference Pages on hand.