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
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/
The workflow is very simple:
- Create a Text DAT node, paste some ISF code there and connect it to isfParser component.
- Connect your video input to the component.
- 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.
PASSINDEX RENDERSIZE isf_FragNormCoord TIME TIMEDELTA DATE FRAMEINDEX
IMG_PIXEL() IMG_THIS_PIXEL() IMG_NORM_PIXEL() IMG_THIS_NORM_PIXEL() IMG_SIZE()
Supported input types:
float color long bool event shape
- 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)
- More than 2 passes
- Vertex shader (
IMG_THIS_PIXELwork exactly like
- don't crash on invalid INPUTS and PASSES
- fix ISF shaders using
fragColorvariable, usage is reserved for TD
- fixed compatibility with TouchDesigner 2022.24200
- added support for TIMEDELTA keyword
- fixed compatibility with TouchDesigner 2020
- float parameters exposed as relative value in 0.0 to 1.0 range instead of absolute value
- initial release
Issue reports and pull requests are welcome.