GitXplorerGitXplorer
m

isf-touchdesigner

public
80 stars
1 forks
1 issues

Commits

List of commits on branch master.
Verified
a65c4b651b363871dd04fddc8f145a20c0ac7723

Add donation link

mmarcinbiegun committed 2 years ago
Unverified
0c8593f88fe8e0164f6050b45895297f14c5d26e

Update tox to current version

mmarcinbiegun committed 2 years ago
Unverified
0056b60446daec0bb9ffcb858da0fa5b048d77c2

Add IMG_THIS_PIXEL fix and fragColor fix

mmarcinbiegun committed 2 years ago
Unverified
b03b76ddbe503b500696c7ab1ab99cb41e99809e

Add fix info to readme

mmarcinbiegun committed 3 years ago
Unverified
b8e49b9c085e1fb3164c50d98826b38004c5ae52

Fix show THIS functions read coordinates

mmarcinbiegun committed 3 years ago
Unverified
899b21bd45306c34573b159ffaf6b57f853efa3e

Update readme

mmarcinbiegun committed 3 years ago

README

The README file for this repository.

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.