TouchDesignerでGLSLを使うには、GLSL TOPとText DATをつなぎ、Text DATにGLSLのコードを書く。
ShaderToyのコードも、サイト特有の変数表記をTouchDesigner特有のものに差し替えればほぼそのまま動く。
以下はその差し替え項目と差し替え方の例。他にもあるかも。
1 メイン関数?の表記差し替え
void mainImage( out vec4 fragColor, in vec2 fragCoord )
を
void main( void )
へ。
2 Shadertoy固有の変数
こんな感じでText DAT内で定義した上で、
uniform vec3 iResolution;
uniform float iGlobalTime;
uniform vec4 iMouse;
GLSL TOPのパネルで変数定義をする。
iGlobalTimeについては、たとえばme.time.secondsもしくはabsTime.secondsといったビルトイン変数などを割り当てる。
3 画像や動画の入力口の名称
iChannel* は画像などの入力なので、GLSL TOPに入力する口に合わせて変数を入れ替える。
iChannel0
を
sTD2DInputs[0]
へなど。
4 使わない変数にはとりあえず0を入れておく
vec2 fragCoord = vec2(0.0, 0.0);