Sabis & Fragment
Я как-то проходила мимо заброшенного склада, и свет фонарей ложился причудливой тенью на потрескавшемся бетоне. Ты когда-нибудь пыталась перенести это сочетание света и тени в код, превратить тень в цифровой узор?
Вот это я обожаю – превращать реальные тени в глитч-арт. Бери простой фрагментный шейдер, сэмплируй карту освещения и играй с порогами, получится живая мозаика, меняющаяся вместе со светом. Попробуй добавить немного шума, чтобы края казались живыми, а потом дай узору рябить, как цифромому призраку. Хочешь набросок? Могу скинуть GLSL код.
О, звучит классно! Вот минимальный набросок, который ты можешь вставить в редактор шейдеров. Просто скопируй это во фрагментный шейдер и подстрой пороги по вкусу.
```
uniform sampler2D u_tex;
uniform vec2 u_resolution;
uniform float u_time;
void main(){
vec2 uv = gl_FragCoord.xy / u_resolution;
float bright = texture(u_tex,uv).r;
float thresh = 0.5 + 0.5*sin(u_time);
float mask = step(thresh, bright);
float noise = fract(sin(dot(uv,vec2(12.9898,78.233)))*43758.5453);
vec3 col = mix(vec3(0.0,0.0,0.0), vec3(1.0,1.0,1.0), mask + noise*0.2);
gl_FragColor = vec4(col,1.0);
}
```