0.00
60.0 fps

My first ISF Shader

Taken from Showsync's Plugin SDK

Log in to post a comment.

/*
{
  "CREDIT": "SHOWSYNC",
  "CATEGORIES" : [
    "Pattern"
  ],
  "DESCRIPTION" : "My First ISF Shader",
  "ISFVSN" : "2",
  "INPUTS" : [
    {
      "NAME" : "inputImage",
      "TYPE" : "image"
    },
    {
      "NAME" : "radians",
      "TYPE" : "float",
      "MIN" : -6.283185,
      "MAX" : 6.283185,
      "DEFAULT" : 0
    },
    {
      "NAME" : "density",
      "TYPE" : "float",
      "MIN" : 0,
      "MAX" : 200,
      "DEFAULT" : 10
     }
  ]
}
*/

#define TWO_PI 6.283185

void main()	{
    float aspect = RENDERSIZE.y / RENDERSIZE.x;
    float x = (isf_FragNormCoord.x - 0.5);
    float y = (isf_FragNormCoord.y - 0.5) * aspect;
    
    float rotationR = radians + float(FRAMEINDEX) / 50.;
    float rotationG = radians + float(FRAMEINDEX) / 60.;
    float rotationB = radians + float(FRAMEINDEX) / 40.;

    float red = sin((x * cos(rotationR) + y * sin(rotationR)) * density);
    float green = sin((x * cos(rotationG + TWO_PI * 1./3.) + y * sin(rotationG + TWO_PI * 1./3.)) * density);
    float blue = sin((x * cos(rotationB + TWO_PI * 2./3.) + y * sin(rotationB + TWO_PI * 2./3.)) * density);
    float alpha = 1.;

    gl_FragColor = vec4(red, green, blue, alpha);
}