Revision control
Copy as Markdown
{
"QEN": {
"fragmentCode": [
"@main",
"{",
" float time = iTime * 0.2;",
" vec2 a = vec2(iResolution.x / iResolution.y, 1.0);",
" vec2 c = texCoord.xy * a * 2.0 + time * 0.45;",
" float k = 0.25 + cos(c.y + sin(.148 - time)) + 3.2 * time;",
" float w = 0.9 + sin(c.x + cos(.628 + time)) - 1.2 * time;",
" float d = length(c);",
" float s = (2.0 / (plasmaScale + 0.02)) * cos(d+w) * sin(k+w);",
" vec4 plasma = vec4(0.5 + 0.5 * cos(s + plasmaColors.rgb), 1.0);",
"#if PLASMA_ENABLE_SPECULAR == 1",
" vec4 plasmaSpecularColor = vec4(0.8, 0.6, 0.4, 1.0);",
" float plasmaSpecularDamper = 2.0;",
" plasma *= (plasmaSpecularColor",
" * pow(max(normalize(vec3(length(dFdx(plasma)), length(dFdy(plasma)), 0.5/iResolution.y)).z, 0.0), plasmaSpecularDamper)",
" + 1.0);",
"#endif",
" fragColor = mix(fragColor, plasma * fragColor.a, plasmaColors.a);",
"}"
],
"name": "Plasma",
"properties": [
{
"defaultValue": "1",
"description": "When this is set to 1, some specular reflection is added into the effect.",
"name": "PLASMA_ENABLE_SPECULAR",
"type": "define"
},
{
"defaultValue": "0.1, 0.4, 0.5, 0.5",
"description": "Color used as a basis for the plasma effect.",
"name": "plasmaColors",
"type": "color"
},
{
"defaultValue": "0.2",
"description": "The scale of the plasma waves. Practical range is between 0.0 and 1.0. The default value is 0.2.",
"maxValue": "1",
"minValue": "0",
"name": "plasmaScale",
"type": "float"
}
],
"version": 1
}
}