Absolutely there is a solution... The human brain has no limit ... to code you must think like an ALIEN ...
The burnfx is not simple cause it's using NOISE Texture ... but if we can replace noise Texture by computed NOISE function
the result was not bad... but my english is bad to make a tutorial..
I can tell something easy, you can MIX all function on 5000 shader toy functions... the result is unlimited..
http://gigatron3k.free.fr/html5/C2/FX/burning/
So here is little tips; i am sure others C2 users are better than me .. I am an expert of delphi pascal and hate javascript, C, assemblers and other languages ...
ST: void mainImage( out vec4 fragColor, in vec2 fragCoord ) : C2 void main()
ST: vec2 uv = (fragCoord.xy/iResolution.xy); : C2 vec2 uv=(1.*vTex); if flipped do vec2 uv=(1.-vTex)
To center correctly use: vec2 uv=(1.*vTex)-vec2(0.5,-0.5); here we accessed X and Y position of Vtex ..
And Finaly
ST: fragColor=vec4(col, 1.); : C2 gl_FragColor=vec4(col,1.0) ; 1.0 is alpha and col is declared
like this: vec3 col=vec3(0,0,0); SO we have 3 vectors + 1 Alpha ... and
declaration of gl_FragColor is right ... gl_FragColor=vec4(3vectors for col, and 1 for alpha) = 4 variables..
vec4 means , X,Y,Z,W ------> like C2 gl_FragColor=vec4(X,Y,Z,W) ; we have 4 vectors variables; col=(x,y,z, and W is alpha)
vec3 means X,Y,Z
vec2 means X,Y
etc........ Not hard no ???