//// BEGIN COMPILER 0 INFO LOG ////

//// END COMPILER 0 INFO LOG ////


//// BEGIN COMPILER 0 OBJ CODE ////
#extension GL_ARB_gpu_shader5 : enable
vec4 _utexture(in sampler2D _us, in vec2 _uc){
return texture2D(_us, _uc);
}
uniform vec3 _uiResolution;
uniform float _uiTime;
uniform float _uiTimeDelta;
uniform int _uiFrame;
uniform float _uiFrameRate;
uniform float _uiChannelTime[4];
uniform vec3 _uiChannelResolution[4];
uniform vec4 _uiMouse;
uniform sampler2D _uiChannel0;
uniform sampler2D _uiChannel1;
uniform sampler2D _uiChannel2;
uniform sampler2D _uiChannel3;
uniform vec4 _uiDate;
uniform float _uiSampleRate;
struct _uChannel {
vec3 _uresolution;
float _utime;
};
uniform _uChannel _uiChannel[4];
void _umainImage(out vec4 _ufragColor, in vec2 _ufragCoord);
void main(){
vec4 _ucolor = vec4(0.0, 0.0, 0.0, 1.0);
_umainImage(_ucolor, gl_FragCoord.xy);
(_ucolor.w = 1.0);
(gl_FragColor = _ucolor);
}
vec3 _uhsv2rgb(in vec3 _uc){
vec4 _uK = vec4(1.0, 0.66666669, 0.33333334, 3.0);
vec3 _up = abs(((fract((_uc.xxx + _uK.xyz)) * 6.0) - _uK.www));
return (_uc.z * mix(_uK.xxx, clamp((_up - _uK.xxx), 0.0, 1.0), _uc.y));
}
float _uluma(in vec3 _ucolor){
return dot(_ucolor, vec3(0.29899999, 0.58700001, 0.114));
}
float _ugetfrequency(in float _ux){
return (_utexture(_uiChannel0, vec2((floor(((_ux * 64.0) + 1.0)) / 64.0), 0.25)).x + 0.059999999);
}
float _ugetfrequency_smooth(in float _ux){
float _uindex = (floor((_ux * 64.0)) / 64.0);
float _unext = (floor(((_ux * 64.0) + 1.0)) / 64.0);
return mix(_ugetfrequency(_uindex), _ugetfrequency(_unext), smoothstep(0.0, 1.0, fract((_ux * 64.0))));
}
float _ugetfrequency_blend(in float _ux){
return mix(_ugetfrequency(_ux), _ugetfrequency_smooth(_ux), 0.5);
}
vec3 _udoHalo(in vec2 _ufragment, in float _uradius){
float _udist = length(_ufragment);
float _uring = (1.0 / abs((_udist - _uradius)));
float _ub = (((_udist < _uradius)) ? (0.060000002) : (0.2));
vec3 _ucol = vec3(0.0, 0.0, 0.0);
float _uangle = atan(_ufragment.x, _ufragment.y);
(_ucol += ((_uhsv2rgb(vec3(((_uangle + (_uiTime * 0.25)) / 6.283), 1.0, 1.0)) * _uring) * _ub));
float _ufrequency = max((_ugetfrequency_blend(abs((_uangle / 3.1415))) - 0.02), 0.0);
(_ucol *= _ufrequency);
(_ucol *= smoothstep((_uradius * 0.5), _uradius, _udist));
return _ucol;
}
vec3 _udoLine(in vec2 _ufragment, in float _uradius, in float _ux){
vec3 _ucol = _uhsv2rgb(vec3(((_ux * 0.23) + (_uiTime * 0.12)), 1.0, 1.0));
float _ufreq = abs((_ufragment.x * 0.5));
(_ucol *= (((1.0 / abs(_ufragment.y)) * 0.2) * _ugetfrequency(_ufreq)));
(_ucol = (_ucol * smoothstep(_uradius, (_uradius * 1.8), abs(_ufragment.x))));
return _ucol;
}
void _umainImage(out vec4 _ufragColor, in vec2 _ufragCoord){
vec2 _ufragPos = (_ufragCoord / _uiResolution.xy);
(_ufragPos = ((_ufragPos - 0.5) * 2.0));
(_ufragPos.x *= (_uiResolution.x / _uiResolution.y));
vec3 _ucolor = vec3(0.0134, 0.052000001, 0.1);
(_ucolor += _udoHalo(_ufragPos, 0.60000002));
float _uc = cos((_uiTime * 0.5));
float _us = sin((_uiTime * 0.5));
vec2 _urot = (mat2(_uc, _us, (-_us), _uc) * _ufragPos);
(_ucolor += _udoLine(_urot, 0.60000002, _urot.x));
(_ucolor += max((_uluma(_ucolor) - 1.0), 0.0));
(_ufragColor = vec4(_ucolor, 1.0));
}

//// END COMPILER 0 OBJ CODE ////


