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);
}