Skip to content

marcinbiegun/isf-touchdesigner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISF TouchDesigner

This component integrates ISF shaders into TouchDesigner.

Discussion thread: https://forum.derivative.ca/t/isf-parser/10588

Donations are welcome: https://ko-fi.com/martinrocker3d

What is ISF?

ISF (Interactive Sahder Format) is wrapper around GLSL pixel shaders. It standarizes way to create live video effects that can be then used in and controlled by VJ Software.

Learn more about ISF here: https://isf.video/

How to use it

The workflow is very simple:

  1. Create a Text DAT node, paste some ISF code there and connect it to isfParser component.
  2. Connect your video input to the component.
  3. Click "Reload" and it's done! You will receive the video output and you can play with the ISF parameters that will be now visible on the component.

Screenshot

Compatibility

Supported variables:

PASSINDEX
RENDERSIZE
isf_FragNormCoord
TIME
TIMEDELTA
DATE
FRAMEINDEX

Supported functions:

IMG_PIXEL()
IMG_THIS_PIXEL()
IMG_NORM_PIXEL()
IMG_THIS_NORM_PIXEL()
IMG_SIZE()

Supported input types:

float
color
long
bool
event
shape

Features

  • ISF controls are exposed as custom parameters on Base OP
  • Image / video input
  • Custom resolution
  • GLSL code translation is done by a single Python script, it's rather easy to follow
  • Works with latest TouchDesigner
  • Multiple passes (1 and 2)

What's missing

  • More than 2 passes
  • Vertex shader (varying not implemented)

Changelog

2022.08.07

  • make IMG_THIS_PIXEL work exactly like IMG_THIS_NORM_PIXEL
  • don't crash on invalid INPUTS and PASSES
  • fix ISF shaders using fragColor variable, usage is reserved for TD

2022.06.24

  • fix IMG_THIS_PIXEL and IMG_THIS_NORM_PIXEL sampler functions

2022.06.02

  • fixed compatibility with TouchDesigner 2022.24200
  • added support for TIMEDELTA keyword

2020.05.28

  • fixed compatibility with TouchDesigner 2020
  • float parameters exposed as relative value in 0.0 to 1.0 range instead of absolute value

2018.06.13

  • initial release

Contribuing

Issue reports and pull requests are welcome.

About

TouchDesigner component for working with ISF shader generators and filters

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published