Currently ISF is at version 2.0 with a proposed version 3.0 in development.
Differences from the first version of the ISF spec
The first version of the ISF spec did some confusing and silly things that the second version improves on. If you want to write your own ISF host, and you want that host to support "old" ISF files, here's a link to the original ISF spec.
...and here's a list of the specific changes that were made from ISFVSN 1 to ISFVSN 2:
PERSISTENT_BUFFERSobject in the top-level dict has been removed- it was redundant and confusing. Anything describing a property of the buffer a pass renders to is in the appropriate pass dictionary (
- The uniform vec2
vv_FragNormCoordhas been renamed
isf_FragNormCoord, and the function
vv_vertShaderInit()has been renamed
isf_vertShaderInit(). ISF is open-source, the use of "vv" for terms in the spec is inappropriate.
INPUTtypes "audio" and "audioFFT" didn't exist in the first version of the ISF spec.
IMG_SIZEfunction didn't exist in the first version of the ISF spec.
FRAMEINDEXuniforms didn't exist in the first version of the ISF spec.
- The first version of the ISF spec didn't have any sort of versioning label-
- The first version of the ISF spec didn't codify any conventions with respect to image filters. The second version sets forth the basic requirement for ISF shaders that are expected to be used as image filters or transitions.