{ "QEP": { "QQEM": "0.43", "connections": [ { "fromId": 2, "toId": 3 }, { "fromId": 3, "toId": 5 }, { "fromId": 5, "toId": 1 }, { "fromId": 0, "toId": 6 }, { "fromId": 6, "toId": 2 } ], "exportFlags": 11, "nodes": [ { "fragmentCode": [ "void main() {", " fragColor = vec4(1.0);", " @nodes", " fragColor = fragColor * qt_Opacity;", "}" ], "name": "Main", "nodeId": 0, "type": 0, "vertexCode": [ "void main() {", " texCoord = qt_MultiTexCoord0;", " fragCoord = qt_Vertex.xy;", " vec2 vertCoord = qt_Vertex.xy;", " @nodes", " gl_Position = qt_Matrix * vec4(vertCoord, 0.0, 1.0);", "}" ], "x": 248, "y": 52.10000228881836 }, { "name": "Output", "nodeId": 1, "type": 1, "x": 248, "y": 909.9000244140625 }, { "description": "This is an empty node for creating custom effects.", "fragmentCode": [ "@main", "{", " vec2 position = (fragCoord.xy/iResolution.xy);", " float cX = position.x - 0.5;", " float cY = position.y - 0.5;", " float newX = log(sqrt(cX*cX + cY*cY));", " float newY = atan(cX, cY);", "\tfloat numBands = 5.0;", "\tfloat numDiagBands = 10.0;", " float numArms = 5.0;", "\tfloat numRings = 5.0;", "\tfloat spiralAngle = PI/3.0;", " float color = 0.0;", "\tfloat t = iTime;", "\tcolor += cos(numBands*cX - t*0.5);\t", "\tcolor += cos(2.0*numDiagBands*(cX*sin(spiralAngle) + cY*cos(spiralAngle)) + t);\t", "\tcolor += cos(numRings*newX - t);", "\tcolor += cos(2.0*numArms*(newX*sin(spiralAngle) + newY*cos(spiralAngle)) + t);", " fragColor = vec4( vec3( sin( color + t*0.2) * 0.95, sin( color + t*0.2 + 0.45)* 0.45, color*0.1 ), 1.0 );", "}" ], "name": "Custom", "nodeId": 2, "type": 2, "x": 213, "y": 407.2200012207031 }, { "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", "nodeId": 3, "properties": [ { "defaultValue": "1", "description": "When this is set to 1, some specular reflection is added into the effect.", "name": "PLASMA_ENABLE_SPECULAR", "type": "define", "value": "0" }, { "defaultValue": "0.1, 0.4, 0.5, 0.5", "description": "Color used as a basis for the plasma effect.", "name": "plasmaColors", "type": "color", "value": "1, 1, 0, 0.616" }, { "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", "value": "0.269301" } ], "type": 2, "x": 213, "y": 584.7799682617188 }, { "description": "This effect adjusts the source item colors separately for each color channel. Source item contrast can be adjusted and color balance altered.", "fragmentCode": [ "float linearstep2(float e0, float e1, float x)", "{", " return clamp((x - e0) / (e1 - e0), 0.0, 1.0);", "}", "@main", "{", " vec4 adjustedColor = vec4(fragColor.rgb / max(1.0/256.0, fragColor.a), fragColor.a);", "", " adjustedColor.r = linearstep2(levelAdjustMinimumInput.r, levelAdjustMaximumInput.r, adjustedColor.r);", " adjustedColor.g = linearstep2(levelAdjustMinimumInput.g, levelAdjustMaximumInput.g, adjustedColor.g);", " adjustedColor.b = linearstep2(levelAdjustMinimumInput.b, levelAdjustMaximumInput.b, adjustedColor.b);", " adjustedColor.a = linearstep2(levelAdjustMinimumInput.a, levelAdjustMaximumInput.a, adjustedColor.a);", "", " vec3 adjustedGamma = vec3(1.0 / max(levelAdjustGamma.x, 0.0001), 1.0 / max(levelAdjustGamma.y, 0.0001), 1.0 / max(levelAdjustGamma.z, 0.0001));", " adjustedColor.rgb = pow(adjustedColor.rgb, adjustedGamma);", "", " adjustedColor.r = levelAdjustMinimumOutput.r + adjustedColor.r * (levelAdjustMaximumOutput.r - levelAdjustMinimumOutput.r);", " adjustedColor.g = levelAdjustMinimumOutput.g + adjustedColor.g * (levelAdjustMaximumOutput.g - levelAdjustMinimumOutput.g);", " adjustedColor.b = levelAdjustMinimumOutput.b + adjustedColor.b * (levelAdjustMaximumOutput.b - levelAdjustMinimumOutput.b);", " adjustedColor.a = levelAdjustMinimumOutput.a + adjustedColor.a * (levelAdjustMaximumOutput.a - levelAdjustMinimumOutput.a);", "", " fragColor = vec4(adjustedColor.rgb * adjustedColor.a, adjustedColor.a);", "}" ], "name": "LevelAdjust", "nodeId": 5, "properties": [ { "defaultValue": "1, 1, 1", "description": "This property defines the change factor for how the value of each pixel color channel is altered.\n\nSetting the gamma values under Qt.vector3d(1.0, 1.0, 1.0) makes the image darker, the values above Qt.vector3d(1.0, 1.0, 1.0) lighten it.\n\nThe value ranges from Qt.vector3d(0.0, 0.0, 0.0) (darkest) to inf (lightest). By default, the property is set to Qt.vector3d(1.0, 1.0, 1.0) (no change).", "maxValue": "4, 4, 4", "minValue": "0.25, 0.25, 0.25", "name": "levelAdjustGamma", "type": "vec3", "value": "1.8688, 1, 1" }, { "defaultValue": "1, 1, 1, 1", "description": "This property defines the maximum input level for each color channel. It sets the white-point, all pixels having higher value than this property are rendered as white (per color channel). Decreasing the value lightens the light areas.\n\nThe value ranges from \"#ffffffff\" to \"#00000000\". By default, the property is set to \"#ffffffff\" (no change).", "name": "levelAdjustMaximumInput", "type": "color", "value": "0.668, 0.6, 0.597, 1" }, { "defaultValue": "1, 1, 1, 1", "description": "This property defines the maximum output level for each color channel. Decreasing the value darkens the light areas, reducing the contrast.\n\nThe value ranges from \"#ffffffff\" to \"#00000000\". By default, the property is set to \"#ffffffff\" (no change).", "name": "levelAdjustMaximumOutput", "type": "color", "value": "1, 1, 1, 1" }, { "defaultValue": "0, 0, 0, 0", "description": "This property defines the minimum input level for each color channel. It sets the black-point, all pixels having lower value than this property are rendered as black (per color channel). Increasing the value darkens the dark areas.\n\nThe value ranges from \"#00000000\" to \"#ffffffff\". By default, the property is set to \"#00000000\" (no change).", "name": "levelAdjustMinimumInput", "type": "color", "value": "0, 0, 0, 0" }, { "defaultValue": "0, 0, 0, 0", "description": "This property defines the minimum output level for each color channel. Increasing the value lightens the dark areas, reducing the contrast.\n\nThe value ranges from \"#00000000\" to \"#ffffffff\". By default, the property is set to \"#00000000\" (no change).", "name": "levelAdjustMinimumOutput", "type": "color", "value": "0, 0, 0, 0" } ], "type": 2, "x": 213, "y": 762.3399658203125 }, { "description": "This node contains commonly used math defines and helper functions.", "fragmentCode": [ "#define PI 3.14159265359", "#define TAU 6.28318530718", "#define SQRT2 1.41421356237", "", "mat2 rotate2d(float a) {", " const float c = cos(a);", " const float s = sin(a);", " return mat2(c, -s, s, c);", "}", "@main" ], "name": "MathHelper", "nodeId": 6, "type": 2, "x": 213, "y": 229.66000366210938 } ], "version": 1 } }