float dustNoise(vec2 uv, float time) {
float n = random(uv * 20.0 + time * 0.5);
n += random(uv * 40.0 - time * 0.8) * 0.5;
return smoothstep(0.4, 0.8, n);
}
void main() {
vec4 color = mix(texture2D(u_texture1, vUv), texture2D(u_texture2, vUv), u_mix);
float dust = dustNoise(vUv, u_time);
vec3 dustColor = vec3(1.0, 0.972, 0.78);
color.rgb = mix(color.rgb, dustColor, u_dust * dust);
gl_FragColor = color;
}