aos/episode-1/src/assets/shader/sunFragment.glsl

precision mediump float;

uniform float lightIntensity;
uniform vec4 colorDefault0;
uniform vec4 colorDefault1;
uniform float time;
uniform float scaleKof;
uniform float ratio;

varying vec2 vecUV;
varying vec3 vecNormal;
varying vec3 vecPosition;



struct PointLight {
    vec3 color;
    vec3 position;
    float distance;
};

uniform PointLight pointLights[NUM_POINT_LIGHTS];

void main() {

    vec4 addedLights = vec4(0.0,0.0,0.0,1.0);
    for(int l = 0; l < NUM_POINT_LIGHTS; l++) {
        vec3 lightDirection = normalize(vecPosition - pointLights[l].position);
        addedLights.rgb += clamp(dot(-lightDirection,vecNormal)*0.3, 0.0, 0.5)* pointLights[l].color* lightIntensity;
    }

    vec2 textureCoord = vecUV;
    float uTime = time*2.0;
    const float PI = 3.141592;

    textureCoord.x += (sin(textureCoord.x * 10.0*scaleKof + ((uTime * (PI / 3.0)) * 0.0031))+ sin(textureCoord.y * 10.0*scaleKof + ((uTime * (PI / 2.489)) * 0.0017))) * 0.0075;
    textureCoord.y += (sin(textureCoord.y * 10.0*scaleKof + ((uTime * (PI / 2.023)) * 0.0023))+ sin(textureCoord.x * 10.0*scaleKof + ((uTime * (PI / 3.1254)) * 0.0037))) * 0.00125;

    vec2 uv = (textureCoord - 0.5) * vec2(ratio, 1.);
    vec4 tempColor = vec4( mix( colorDefault0, vec4(0.0,0.0,0.0,1.0), length(uv*2.0)));
//        tempColor = vec4( mix( colorDefault1, vec4(0.0,0.0,0.0,1.0), length(uv*0.03)));
//        tempColor = vec4( mix( tempColor, vec4(0.0,0.0,0.0,0.0), length(uv*0.3)));
    gl_FragColor = vec4( mix( colorDefault1, tempColor, length(uv*4.0)));
//    gl_FragColor = tempColor;

}

Graph