Пиротерапия от выгорания, или как я стал вайбкодером

Привет, Хабр!
Представляю твоему вниманию AcroTab — приложение, которое должно быть у каждого уважающего себя гитариста (у меня, например, есть).
кг/ам tl;dr: https://acrotab.org

It's time to render!

Привет, Хабр!
Представляю твоему вниманию AcroTab — приложение, которое должно быть у каждого уважающего себя гитариста (у меня, например, есть).
кг/ам tl;dr: https://acrotab.org

Спойлер: всё очень плохо.
Как прикрутить ДЛСС 5 к думу на OpenGL. и стоит ли оно того. Вообще это должен был быть длиннопост, с тем, как же сложно это сделать, и как долго я мучался. Но честно, весь процесс занял минут 10... Из которых 9 я вспоминал пароль от Хабра.

С появлением Flutter GPU у Dart-разработчиков впервые появился прямой доступ к Metal и Vulkan без единой строчки нативного кода. Чтобы понять, готов ли новый API к настоящим 3D-играм, я написал над ним движок на чистом Dart: сцена, PBR-освещение, каскадные и кубические карты теней, HDR-конвейер и три взаимозаменяемых графических бэкенда (Flutter GPU, WebGL2 и программный растеризатор), плюс три законченные игры, играбельные прямо в браузере. В статье разбираем границы Flutter GPU, устройство движка и самые дорогие грабли, собранные по дороге.

Иногда что-то супер-мега-секретное вылезает наружу не через слив, а просто потому что кто-то забыл вынуть один файл из билда. Ну забыли и забыли, с кем не бывает.
Именно так всё и произошло на прошлой неделе с DLSS 5 – скандальной штукой от Nvidia. Официального анонса не было, зато была ранняя версия игры NBA 2K27, в которой была незаметная DLL-ка nvngx_dlssnr.dll на 158 мегабайт... и понеслось.
За считанные дни модеры натянули нейросетевой рендер на добрых три десятка игр, от Cyberpunk 2077 до GTA San Andreas, которой уже двадцать лет в обед (хотя ремастеру чуть меньше).
Если вы следили за DLSS 5 с марта, то помните все эти мемы и хейт. Попробуем разобраться, что произошло, как работает технически, что показывают тесты и почему до сих пор спорят о судьбах игровой индустрии. Заодно накидаю картинок и видео, потому что тут тот случай, когда лучше один раз увидеть, чем сто раз прочитать.

Я админю группу по блендеру много лет, и бывает отвечаю на вопросы. Вопросы бывают разные, на какие‑то просто ответить одним словом, фразой или предложением, а на какие‑то просто так не ответишь — нужно писать целую статью.
Вот, к примеру, кто‑то жалуется, у него свечение не сохранилось в png. Или это не свечение а полу‑прозрачный шейдер или огонь. В Blender есть, а в png нет — баг какой‑то. И как тут ответить одним сообщением? Тут и про разные типы альфа‑канала надо рассказать, и почему они нужны и для чего используются, и какие‑то способы проблему обойти нужно дать, потому что теория теорией, а что делать‑то?

3 день соло разработки. Рассказываю, как я решил разработать 3д игру без опыта в геймдев, с какими проблемами столкнулся.

Разработка 3D-игры в одиночку.
Первая часть - про то, как прототип из серых кубиков превращался во что-то похожее на игру: камень, текстуры, опущенная камера и отказ от квадратной сетки, из-за которого уровень стал ощущаться крупнее. Со скриншотами на каждом шаге.

Меня зовут Дарья Беляева, я — Tech Lead и архитектор решений на стыке BIM, CDE и Revit API. Мы с коллегой, Андреем Прохоровым, за два месяца с нуля сделали AGR.Checker — плагин для Revit, который проверяет ЦИМ на соответствие требованиям IDS перед сдачей в составе АГР. В этой статье — конкретные инженерные решения, которые легли в основу плагина, и то, с чем мы разобрались при регистрации прав на программу в Роспатенте.

Я честно пошёл изучать шейдеры, чтобы сделать игру красивее. Получилось. А потом посмотрел на два скриншота рядом и понял: большую часть разницы дали не шейдеры.
Её дали пять довольно тупых правок от двух до тридцати строк каждая. Самая полезная - две строки в конфиге камеры.
Внутри: таблица «цена / что чинит», формулы контактной тени, детерминированный хэш против одинаковых плиток, запечённый AO на стыках. И честный список того, что стоило дорого, а дало меньше.

Встроенный граф Obsidian хорош ровно до момента, когда vault разрастается и превращается в клубок линий. Я решил сделать из базы знаний место, которое можно запомнить, — и собрал open-source плагин CosmoGraph 3D на Three.js и WebGL. В статье разбираю весь путь от metadataCache и wikilinks до сферической раскладки по золотому углу, процедурного рельефа, кратеров, bloom и нативного ItemView внутри Obsidian. Без облачной обработки заметок и без рассказов о «магии»: только код, архитектурные компромиссы и честный список того, что ещё предстоит ускорить.

Тот же Rust‑код, что рисует топологию на десктопе, собирается в wasm и рисует в <canvas> через WebGPU. Сайт при этом не знает про GPU: кликнул на нарушение в списке, камера уехала на место, маркер показал дефект. Ниже как это устроено, где «просто пересобрали» было бы враньём, и какие ловушки сидят не в Rust, а в вебе.
Задача
У нас десктопный инструмент для топологии интегральных схем, layout в формате GDSII (и OASIS). Файл описывает геометрию кристалла: иерархия ячеек, на листьях прямоугольники и полигоны по слоям (металл, поликремний, диффузия). Координаты целые, в DBU, единицах базы данных; в микрометры переводим уже при развороте сцены. Реальный проект: сотни мегабайт на диске, миллионы фигур после разворачивания иерархии.
Рядом выросла веб‑платформа с результатами анализа этих дизайнов. Захотелось показать сам layout в браузере, в том же UI: клик по нарушению в списке открывает его место на топологии. В десктопных пакетах это называют RVE, results viewing environment. Нам нужна была такая навигация без второго рендер‑движка.
Что отсекли сразу
Серверный рендер в тайлы. Каждый зум это запрос. Интерактивность мёртвая, плюс сервер рисует чужие данные.
Canvas2D или SVG на JS. На миллионах прямоугольников не работает. И это был бы второй движок.
Отдельный JS/TS‑парсер и рендер. Формат один, интерпретации через полгода две. Для GDS это особенно опасно: иерархия, зеркала, массивы ссылок.
Остался вариант, который мы и сделали: тот же Rust, цель wasm32-unknown-unknown, картинка в <canvas> через WebGPU.

Последние годы я работал разработчиком в области машинного обучения, компьютерного зрения и 3D-реконструкции. Писал и видел множество вариантов организации вычислений и обработки потока данных. Но в них мне не хватало системы и организованности, прозрачности и гибкости. Поэтому я набрался решимости и воплотил самые мои смелые — и, как оказалось, вполне рабочие — идеи в новом фреймворке, который я назвал ICO.

Я сделал ИИ‑агента для КОМПАС-3D: он живёт прямо в окне программы, принимает запрос текстом или фотографией и строит параметрическую деталь — не мёртвую геометрию в step, а дерево построения с переменными, которое пригодно для редактирования.
Агент пишет код и сам смотрит на то, что построил, — анализирует рендеры «глазами» через VLM.
В статье: как хорошо агент справляется с моделированием по тексту и чертежам уже сейчас, почему один блок кода лучше десяти tool'ов и почему агенту мало просто «видеть» результат.

Playdate – крошечная консоль с жёлтым корпусом и процессором, который в эпоху гигагерцев кажется игрушечным. Разрешение – 400x240, один бит, без оттенков серого. Видеочипа нет: всё, что видите, считает скромный ARM-процессор. Казалось бы, какое тут 3D?
Но Кристина Рамос решила проверить, где проходит граница возможного. Начала с рейкастера, а закончила софтверным рендерером, который читает BSP-карты.
Игры Return of the Obra Dinn и Jet Set Radio вдохновили Кристину на монохромный селшейдинг с жирными контурами. В статье она рассказывает, как 1-битный экран Playdate заставил отказаться от фотореалистичных текстур и найти уникальный визуальный стиль для 3D-игры.

Unreal Tournament 2004 — безусловная классика, но графически она застряла в эпохе Direct3D 8 и Fixed‑Function Pipeline. Три месяца реверс‑инжиниринга, сотни падений с Access Violation и ни строчки C++ в голове — под катом история о том, как с помощью ИИ‑агента за 500 рублей я написал нативный DLL‑рендерер с картами нормалей, Blinn‑Phong Specular и постпроцессингом для движка Unreal Engine 2.

Можно ли одному человеку собрать не демо, а работающую классическую RTS, если почти весь код пишут несколько ИИ-агентов? Я проверяю это на неудобной задаче: Марс 1:1, Rust + wgpu, камера от орбиты до ног робота, отдельная детерминированная симуляция, единая шина команд для человека, сети и ИИ. Разбираю, что уже работает к середине проекта, как устроены научные карты и BUS, почему 15 мс «в API» оказались ожиданием GPU, как тест на одном ПК скрыл сетевой лаг и какие красивые решения пришлось выбросить после измерений.

В этой статье я хотел бы рассказать как я портировал корабли из старой игры X²: The Threat в новую игру X4: Foundations. Могут ли игровые ассеты из 2003 года быть актуальны в 2026?

Можно ли было написать настоящий Doom на Pascal — с 64-КБ сегментами, 16-битным компилятором, реальным режимом и обычным 386-компьютером в 90-е?
И что из этого могло получиться…

Создание и оптимизация рендеринга воксельного мира в Unity (на мобильном устройстве). Это техническая статья для Unity/C#-разработчиков, которые знакомы с процедурной генерацией геометрии, но не обязательно писали собственный воксельный рендерер в Unity.

buildingSMART готовит новую версию открытого BIM-стандарта IFC5. Здесь, в отличие от монолитной ООП-иерархии (IFC2x3, IFC4), применяется компонентный ECS-подход (Entity Component System). То есть в IFC5 объект собирается из независимых частей (геометрия, материалы, свойства), которые можно комбинировать и пересобирать отдельно друг от друга. Разработка ведётся публично в репозитории buildingSMART/IFC5-development/ на GitHub, финальная спецификация пока не выпущена.
Однако ниже будет не про IFC5, а о том, что...