fingerprints

Форк
0
/
algo.glsl 
34 строки · 832.0 Байт
1
vec2 hash2( vec2 p )
2
{
3
    p = vec2( dot(p,vec2(63.31,127.63)), dot(p,vec2(395.467,213.799)) );
4
    return -1.0 + 2.0*fract(sin(p)*43141.59265);
5
}
6

7
void main(void)
8
{
9
    float invzoom = 64.;
10
    vec2 uv = invzoom*((gl_FragCoord.xy-0.5*resolution.xy)/resolution.x);
11
    float bounds = smoothstep(9.,10.,length(uv*vec2(0.74,0.55)));
12

13
    float a=0.;
14
    vec2 h = vec2(floor(7.*time), 0.);
15
    for(int i=0; i<50; i++){
16
        float s=sign(h.x);
17
        h = hash2(h)*vec2(15.,20.);
18
        a += s*atan(uv.x-h.x, uv.y-h.y);
19
    }
20
    
21
    uv += 20.*abs(hash2(h));
22
    
23
    a+=atan(uv.y, uv.x);
24

25
    float w = 0.8;
26
    float p=(1.-bounds)*w; 
27
    float s = min(0.3,p);
28
    float l = length(uv)+0.319*a; 
29
    
30
    float m = mod(l,2.);
31
    float v = (1.-smoothstep(2.-s,2.,m))*smoothstep(p,p+s,m);
32
    
33
    glFragColor = vec4(v,v,v,1.);
34
}
35

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.