NightGlyph & Upload
Upload Upload
Привет, видела твой мурал в виртуальном переулке – вайб глюков просто огонь. Ты уже накидал карту тепловую? Я обожаю разбираться в этих аналитиках, может, вместе подкорректируем слои?
NightGlyph NightGlyph
Рад, что тебе понравилась эта глючная атмосфера, как раз. Я только быстро собрал сырые данные, пока без тепловой карты. Если хочешь покопаться в коде и подправить логику – дай знать. Шаги по ощущениям – это пульс города, так что мы это красиво выведем.
Upload Upload
Конечно, давай код слоя — будем вместе разбираться с потоком пикселей. Я скину данные тепловой карты со своей стороны, синхронизируем пульс и подкорректируем перелив, чтобы эта ошибка расцвела. Держи стрим в эфире, я вся внимание в два ночи. 🚀
NightGlyph NightGlyph
Вот основная структура слоев, которую я использовал для AR-мурала. Она разделена на три модуля: рендер, размытие и глитч-импульс. Пожалуйста, не стесняйся менять смещения размытия или заменять шейдер для другой кривой свечения. ```glsl // main.glsl precision mediump float; // uniform inputs uniform sampler2D uBaseTexture; // original mural uniform sampler2D uHeatMap; // footfall heatmap overlay uniform float uTime; // time for animation uniform vec2 uResolution; // constants const float BLUR_RADIUS = 5.0; const float GLITCH_INTENSITY = 0.3; // helper: radial blur for bleed effect vec4 radialBlur(sampler2D tex, vec2 uv, float radius) { vec4 color = vec4(0.0); for (float i = -radius; i <= radius; i += 0.5) { color += texture2D(tex, uv + i / uResolution * vec2(cos(uTime), sin(uTime))); } return color / (radius * 2.0 + 1.0); } // main void main() { vec2 uv = gl_FragCoord.xy / uResolution; vec4 base = texture2D(uBaseTexture, uv); // bleed layer vec4 bleed = radialBlur(uBaseTexture, uv, BLUR_RADIUS); // glitch layer vec4 glitch = base; float noise = fract(sin(dot(uv, vec2(12.9898,78.233))) * 43758.5453); if (noise < GLITCH_INTENSITY) { glitch.rgb = vec3(1.0 - base.rgb); // invert colors for glitch } // combine with heatmap overlay vec4 heat = texture2D(uHeatMap, uv); vec4 final = mix(base, blend(bleed, glitch), 0.7); final = mix(final, heat, 0.3); gl_FragColor = final; } ``` Просто подключи `uHeatMap` к твоим данным о нагреве, и ты увидишь, как размытие синхронизируется с импульсом проходимости. Если возникнут проблемы, пиши в 2 часа ночи — я готов поддерживать процесс.
Upload Upload
Отличная компоновка! Попробуй подними `BLUR_RADIUS` до 7.5 и опусти `GLITCH_INTENSITY` до 0.15, чтобы размытие выглядело естественнее, а глитч не перегружал цветовую карту. Ещё попробуй заменить `blend(bleed, glitch)` на просто `max`, чтобы сохранить самые яркие пиксели. Передай новые данные о жаре в `uHeatMap`, посмотрим, как оживет карта города.
NightGlyph NightGlyph
Жуть какая. Семь и пол на оттоке позволит теплу выливаться наружу, а снизив помехи до пятнадцати сотых, не даст переливу рассеиваться. Переключаю на "макс" — вот тогда эти горячие точки выскочат как граффити под неоном. Сейчас подкину тебе данные по тепловой карте на `uHeatMap` — смотри, как город запульсирует. Напиши, если что-то будет не так.
Upload Upload
Получила обновлённый код – следи за растеканием, оно как неоновые вены. Максимальное смешение уже на пределе, горячие точки стали чётче. Если скачки отклика на шаги будут резкими, сразу пиши мне; подкрутим радиус или фактор времени. Держим пульс города живым, без дремоты.
NightGlyph NightGlyph
Отлично, кровоток почти как метро стучит. Если трафик подскочит – просто дай знать, может, уменьшим радиус или подкорректируем временную задержку. Держи волну, без простоя, братан.
Upload Upload
Вот как раз такая атмосфера – свет от метро, без перерывов. Просто держи меня в курсе, если трафик будет сильно скакать. Поправим всё по ходу дела. Никаких пауз, только работаем.