Video Game Blurs (and how the best one works)
- Размытие в играх — основа эффектов: Bloom, DoF, UI.
- Цель: быстрое размытие в реальном времени на GPU.
- Путь: от простого Box Blur до Dual Kawase Blur.
Box Blur
Среднее цветов в квадрате.
Проблема: O(n²) по радиусу, медленно.
Ядро (kernel)
Матрица весов для свёртки.
Box = все веса 1.
Gaussian = веса по нормальному распределению.
Gaussian Blur
Два прохода: горизонталь + вертикаль → O(n) вместо O(n²).
Но: при радиусе > 10 всё ещё дорого.
Частоты
Размытие = низкочастотный фильтр.
Можно свернуть сразу в частотной области, но FFT на маленьких изображениях не выигрывает.
Оптимизации
- Билинейная интерполяция: считаем не каждый пиксель, а с шагом 2×, экономим 4× выборок.
- Даунсемплинг: уменьшаем изображение в 2×, размываем, растягиваем обратно — почти бесплатно.
Kawase Blur
4–5 проходов с offset-выборками по спирали.
Выглядит как Gaussian, но дешевле при больших радиусах.
Dual Kawase Blur
Пара Kawase-проходов на уменьшенной копии + один upscale.
Результат: кинематографическое размытие за O(log n).
Используют Unreal, Unity, Frostbite — де-факто стандарт.
Итог
Dual Kawase = лучшее соотношение качество/скорость для больших радиусов в реальном времени.
Комментарии (35)
- Автор рассказал, как интервьюировал Масаки Кавасе и почему решил описать Dual-Kawase Blur — технику, придуманную для слабых GPU.
- Участники сравнили Kawase с боке, гауссовым размытием и пирамидой Гаусса; автор подчеркнул, что Dual-Kawase был заточен под мобильники и экономию памяти.
- Обсудили, как реализовать размытие в compute-шейдере без записи в DRAM, и напомнили, что свёртка с гауссом в пространстве = умножение в Фурье.
- Кто-то назвал анимацию «плавно движущихся» картинок раздражающей; автор добавил параметр
?noJustify
, чтобы убрать выключку текста. - Вопрос о сферических гармониках получил ответ: это отдельная тема — приближённое освещение окружения, а не размытие.
Speeding up Unreal Editor launch by not spawning unused tooltips
Как ускорить запуск Unreal Editor: не создавать 38 000 тултипов
Unreal Editor запускается долго. Epic борется с этим кэшами, live-coding и прочими оптимизациями, но одна простая проблема оставалась незамеченной: на старте движок генерирует 38 000 виджетов-тултипов, хотя за сессию пользователь видит лишь десяток.
Профилирование показало, что SetToolTipText
тратит ~0,2 мс на каждый тултип, но главное — он не просто сохраняет текст, а сразу создаёт полноценный виджет. В итоге:
- 2–5 с потеряно в дебаг-сборке
- до 1 с в development
- ~40 МБ ОЗУ занято невидимыми виджетами
Решение
- Заменить немедленное создание виджета на ленивое: сохранять только
FText
. - Создавать виджет в момент первого обращения (
GetToolTip
).
Патч — пара строк: убрать Spawn
из сеттера, перенести его в геттер.
Результат: стартовое время падает на ~1 с, ОЗУ экономит десятки мегабайт, а в рантайме задержки не заметны — тултипы всё равно редко вызываются пачками.
Комментарии (70)
- Unreal Editor тормозит запуск, потому что создаёт 38 000 полноценных виджетов-всплываек сразу при старте; в дебаг-сборке это 2–5 с, в дев-сборке ≈1 с.
- Проблема не в тексте, а в retained-mode GUI: каждая подсказка = объект с саб-виджетами и хелперами, даже если она никогда не покажется.
- Разработчики UE жалуются на медленную итерацию: 10 мин компиляция пустого проекта, тяжёлый редактор, половинные фичи; Godot/Unity/GDScript быстрее.
- Unity использует IMGUI: виджеты рисуются по требованию, поэтому невидимые тултипы не создаются и не жрут время.
- Лечат ленивым или единичным глобальным инстансом, порталами React, менеджерами модалок, но переходы и первый рендер могут пострадать.
CocoaPods trunk read-only plan
Кратко:
С декабря 2026 г. CocoaPods Trunk станет только для чтения — новые версии и pod-ы добавлять нельзя. Существующие сборки продолжат работать, пока живы GitHub и jsDelivr.
Что меняется:
- Подачи новых Podspec будут отклоняться на уровне сервера.
- Репозиторий
CocoaPods/Specs
пометят как archived. - Использование
prepare_command
в новых Podspec запрещено (май 2025).
График:
- май 2025 — блок
prepare_command
. - конец 2025 — массовое письмо всем авторам Podspec.
- сен–окт 2026 — повторное уведомление.
- 1–7 ноя 2026 — тестовое отключение.
- 2 дек 2026 — финальный переход на read-only.
Обратная связь:
- Команда: [email protected]
- Orta: [email protected] или Bluesky @orta.io
Комментарии (110)
- CocoaPods официально уходит в историю: мейнтейнеры решили прекратить развитие, признав превосходство Swift Package Manager.
- Пользователи благодарны за годы поддержки, но многие рады избавиться от «захвата» проекта xcworkspace и постоянных проблем с CDN.
- Критика SPM: не хватает команды outdated, баги в Xcode, плохие сообщения об ошибках; до 30 % пакетов ещё не перенесены.
- React Native, Flutter, Unity, Capacitor пока тесно зависят от CocoaPods; переход на SPM только в зачаточном состоянии.
- ~100 k старых pod-ов рискуют остаться без обновлений: придётся форкать и мигрировать вручную или ждать сообщества.
Making Minecraft Spherical 🔥 Горячее
Blocky Planet — демо на Unity, превращающее кубические воксели Minecraft в полностью разрушаемую сферическую планету из 20+ блоков.
Частые вопросы
- Где играть? Бесплатно на itch.io (Windows + web).
- Зачем? Вдохновился старым демо Jordan Peck и хотел добавить текстуры и масштабное разрушение.
- Будет ли игра? Вряд ли: мало времени, а путь от демо до релиза огромен.
- Сколько времени? ~1 месяц по 15 ч/нед. Пост занял вдвое дольше.
- Стек: Unity 6, C#, Job System + Burst, но без DOTS.
- Код? Пока закрыт — стыдно.
- Текстуры? Нарисованы вручную или скриптами; многие блоки ≈ шум + тонировка.
- Идеи/вопросы? Пишите в реддит-пост.
Делаем сферу
Простой способ — отфильтровать блоки внутри заданного радиуса, но тогда гравитация не совпадает с «верхом» блоков. Нужно:
- Наложить 2D-квадратную сетку на 3D-сферу.
- Сохранять ширину блоков при удалении от центра.
Карта без искажений — миф
Гаусс доказал: без искажений не обойтись. Попытки втиснуть глобус в прямоугольник дают чудовищные искажения у полюсов.
Комментарии (115)
- Автор продемонстрировал работающий «кубический» voxel-мир на сфере, где основной проблемой остаётся вертикальное искажение.
- Комментаторы сравнили проект с Space Engineers, Seed of Andromeda, PlanetSmith, Minetest и другими попытками создать «Minecraft на планете».
- Предложены альтернативы: геодезические сферы, торо-сфера (Eco), шестигранные воксели, HEALPix, S2, а также уменьшение игрока при приближении к ядру.
- Пользователи отметили удовольствие от орбитальной механики и мечтают о гибриде Minecraft + Kerbal Space Program.
Unity reintroduces the Runtime Fee through its Industry license
Unity Industry
Превращайте 3D-данные в интерактивные приложения, которые повышают эффективность и достигают бизнес-целей.
- 30-дневный пробный период бесплатно.
- Купить или посмотреть демо.
Преимущества
- Реал-тайм 3D: быстрый вывод продукта, оптимизация ресурсов.
- Принятие решений: пространственные визуализации ускоряют согласование.
- Экономия: меньше дублирования, ниже себестоимость.
- Кроссплатформенность: 20+ платформ — от мобильных до VR.
Возможности
- Импорт CAD/BIM через Unity Asset Transformer Toolkit (70+ форматов).
- Управление активами в Unity Asset Manager (облако).
- Создание и симуляция реалистичных сцен и процессов.
- Развёртывание на AR/VR, веб, десктоп, мобильные устройства.
В составе
- Unity 6: быстрый рендер, AI, мультиплатформа.
- Unity Asset Transformer Toolkit (бывший Pixyz).
- Unity Asset Manager: облачное DAM для 3D-активов.
- Build Automation: CI/CD для сборки и деплоя.
Комментарии (91)
- Unity не возвращала «Runtime Fee» для игр: новая 4 % отчисления касаются только лицензии «Industry» для неигровых продуктов.
- Сообщество критикует Unity за плохую коммуникацию, непрозрачные цены и «contact sales», что выглядит как попытка «выжать» клиентов.
- Многие разработчики уже мигрируют или советуют Godot/Unreal, считая Unity ненадёжным партнёром, способным менять условия в любой момент.
- Некоторые напоминают, что специальные лицензии для неигровых рынков существовали лет 10, но теперь процент берут прямо с выручки.
Shader Academy: Learn computer graphics by solving challenges
Академия шейдеров
Для работы приложения включите JavaScript.
Комментарии (59)
- Пользователи делятся опытом: кто-то начинал с Shader Graph в Unity, но вернулся к стандартным шейдерам URP.
- Критика дизайна: «дефолтный» вид сайта и AI-генерированные текстуры создают ощущение «vibe-coded» качества.
- Технические проблемы: Firefox/Linux и некоторые версии macOS жалуются на отсутствие WebGL, хотя он поддерживается.
- Практическая ценность: шейдеры всё ещё нужны даже в Unity/UE для кастомных эффектов; без них продвинутый визуал не сделать.
- Создатели Shader Academy приглашают в Discord за фидбеком, признают использование AI лишь для комментариев и шаблонов.