TechArt - Archive
1.95K subscribers
17 photos
7 videos
119 files
289 links
Технический не блог о сложном, для энтузиастов графики всех мастей :)

По вопросам обращайтесь к @white_wh
Download Telegram
gpu-scalar-vs-vector-architectures.md
20.1 KB
#wtf
На днях ко мне заглянул коллега с вопросом "а что, векторизация, как метод оптимизации шейдеров устарел? Сейчас все GPU скалярные?"

Краткий ответ - да, но с некоторыми нюансами.

В общем держите как результат небольшой документик от fable с сбором данных о том какие gpu ныне скалярные и не требуют векторизации математики.

Кратко: все современные gpu - действительно скалярные. Но, нужно понимать что память то нет :)
Биндинги, вычисления в пониженной точности (half) - векторизация все еще работает и является достаточно критичной.

Важное замечание - тот же UE, для PC выполняет расчеты пиксельного шейдера в half (если явно не указать расчет в float, и если не писать в custom), а на мобильных девайсах еще и vertex shader старается держать в half.

Так что, выбирайте метод оптимизации исходя из понимания вашего тулкита, необходимости жесткой экономии и понимания что на дворе 26й год - оборудование и методы другие, и многое уже можно не делать руками лично :)
🔥7
Real-Time Neural Network Implementation for GPUs

MLPZen — сопровождающий код к главе GPU Zen 4: Jakub Bokšanský показывает, как запустить вывод MLP (multilayer perceptron, многослойного персептрона) в compute shader на DX12 без сторонних ML-библиотек. Интерактивная демка обучает сеть восстанавливать изображения в реальном времени; инфраструктура охватывает GPU-менеджмент памяти, компиляцию шейдеров и dispatch. Практическая отправная точка для neural rendering прямо в игровом пайплайне.

#NeuralRendering #GPU #ComputeShaders #Tutorial

Читать оригинал — Jakub Bokšanský
🔥3
Adventures in Neural Rendering Part 2: Cooperative Vectors

Kostas Anagnostou исследует ускорение MLP (multi-layer perceptron) для RTAO через Cooperative Vectors — SM6.9-фичу DirectX 12, открывающую HLSL-шейдерам доступ к Tensor-ядрам GPU. Сеть 6-64-64-64-1 ускоряется с 240,5 мс до 1,4 мс (173×); небольшие конфигурации — 2×. Весовые матрицы должны быть в float16: float32 Cooperative Vectors не поддерживают. В SM6.10 их заменит Linear Algebra Matrix.

#Tutorial #NeuralRendering #Optimization #DirectX #GPU

Читать оригинал — Kostas Anagnostou
🔥1
Forwarded from ai.dot(ufna, dev)
Крайне козырная штука, если вы равлекаетесь с селф-хостед модельками "для внешних человеков" (да или для себя, но параноидально). Реально скорость убойная. Но очень, очень странно выглядящее решение!

Китайцы реально китайцы.

https://github.com/TencentCloud/CubeSandbox
🔥1
#WTF
В целом ID живо и это главное.

Что будет с ID Tech? Использование стороннего движка - ужасающий репутационный удар №2, который может и похоронить компанию.
Скорее всего zenimax/bethesda это дело понимают.
+ если быть честным, не слышал, что бы сокращали движковую команду MachineGames, которую мне нахваливал коллега.
Так что ID Tech будет жить, не так жирно, но будет, и чуууть меньше руками ID. Надеюсь на перераспределение ресурсов внутри холдинга.

Всем коллегам из ID и MachineGames, уволенным и оставшимся - держитесь. Нам за вас чертовски обидно.
13💔21👍1🌚1
Spatial Hashing for Raytraced Ambient Occlusion

Чтобы не трассировать лучи AO каждый кадр, Kostas Anagnostou кеширует результаты в spatial hash-таблице с ключом «позиция + нормаль поверхности». Старые ячейки вытесняются после 20 кадров бездействия. На Nvidia 3080 Mobile при 1080p — 0,4 мс против 1,72 мс у стандартного RTAO; памяти 11,4 МБ. Ограничение: только статическая геометрия, динамические объекты исключены.

#Tutorial #RayTracing #Optimization #GPU

Читать оригинал — Kostas Anagnostou
🔥3
The Neural Light Grid: A Scalable Production-Ready Learned Irradiance Volume

Команда Activision Research предложила Neural Light Grid — решение для GI-зондов (irradiance probes, зонды непрямого диффузного освещения) в картах масштаба нескольких км². Meta-learning обучает сеть, генерирующую весовые функции зондов в ~100× быстрее традиционных методов. Доклад SIGGRAPH 2024 Advances: авторы — Iwanicki, Sloan, Silvennoinen, Shirley. Итоговый lookup работает на обычном GPU.

#Paper #GlobalIllumination #NeuralRendering #SIGGRAPH #GameDev

Читать оригинал — Michal Iwanicki, Peter-Pike Sloan, Ari Silvennoinen, Peter Shirley
🔥2
Так-с, сорри, вчера я благополучно опять заработался и уполз что то в районе семи утра, даже не вспомнив про публикацию. За это сегодня будет две публикации.
(PS, надо будет опять набить отложку, с моим ритмом это единственный надежный способ)


Индюшкам на заметку

Per-Texel Lighting


Техника baked-освещения с точностью до текселя: каждый тексель меша переводится в world-space через барицентрические координаты, получает освещённость по углу к источнику и тестируется на пересечение с геометрией для мягких теней. Расстояние до ближайшего препятствия управляет blur penumbra. Дорого — compute shader + многопоток, — но даёт детальные baked-тени для стилизованных статичных сцен.

#Tutorial #Lighting #Shadows
Читать оригинал
🔥4
A Recursive Algorithm to Render Signed Distance Fields

Рекурсивный divide-and-conquer алгоритм для рейкастинга SDF (signed distance field, поле расстояний): фрустум делится на патчи, которые продвигаются пачкой на safe distance. Даёт 3–4× меньше сэмплов против стандартного raymarching. С линейной интерполяцией шейдинга на патчах 10×10 — меньше 1 ray/pixel. Автор показывает 50–100 FPS на CPU (M1 MacBook Air), без GPU вообще.

#Rendering #Tutorial #Optimization

Читать оригинал — Maxime Chevalier-Boisvert
🔥4
Gradient-Domain ReSTIR Path Tracing

Gradient-domain rendering оценивает не только цвет пикселя, но и разности между соседними (градиенты) — это помогает восстановить мелкие детали и высокие частоты. Yu-Chen Wang и коллеги из NVIDIA скрестили эту идею с ReSTIR PT (reservoir spatiotemporal importance resampling): алгоритм переиспользует семплы избирательно, эксплуатируя разреженность карты градиентов. Результат — лучшая сходимость при том же бюджете семплов, открывающая gradient-domain для реального времени.

#PathTracing #GlobalIllumination #Paper

Читать оригинал — Yu-Chen Wang, Markus Kettunen, Daqi Lin, Chris Wyman, Lifan Wu, Shuang Zhao
🔥6
Aokana: A GPU-Driven Voxel Rendering Framework for Open World Games

Aokana решает главную проблему вокселей в open-world: нечеловеческие требования к памяти и нагрузка на GPU. Авторы взяли связку SVDAG (Sparse Voxel DAG — граф без повторяющихся поддеревьев) + LOD + стриминг и выстроили полностью GPU-driven конвейер. Итог: рендеринг десятков миллиардов вокселей в реальном времени, расход памяти — в 9 раз ниже, скорость — в 4,8 раза выше прежнего best-practice.

#GPUDriven #Optimization #Paper #GameDev

Читать оригинал — Yingrong Fang, Qitong Wang, Wei Wang
🔥6👍3
HiPR: Hierarchical Progressive Rendering for Immediate Feedback

HiPR устраняет главный дискомфорт интерактивного path tracing: долгое ожидание после каждого изменения сцены. Алгоритм строит иерархию зависимостей световых путей от изменённых объектов и обновляет пиксели по убыванию визуального эффекта — сначала самое заметное. Итог: мгновенный отклик без артефактов, сходящийся к несмещённому результату. Особенно полезно для редакторов уровней, где нужна живая обратная связь.

#PathTracing #RealTimeRendering #Paper

Читать оригинал — Rafael Padilla, Andrew Tate, Dhruv Ram, Cem Yuksel
👍21
Multi-Layer Reservoir Splatting for Temporal Reuse under Disocclusion

ReSTIR (reservoir spatiotemporal importance resampling) отлично переиспользует выборки при path tracing, но disocclusion (поверхности, выходящие из-за окклюдера) рушит историю сэмплов и порождает шум. Авторы из Utah и NVIDIA вводят многослойное пространство экрана: сэмплы перераспределяются между слоями по depth ranges без лишних ray-запросов. Шум снижается радикально, оверхед — порядка 3 мс на кадр.

#PathTracing #Denoising #Paper #SIGGRAPH

Читать оригинал — Pengpei Hong, Song Zhang, Daqi Lin, Markus Kettunen, Chris Wyman, Cem Yuksel
🔥1
Neural Texture Compression using Hypernetworks

Нейросетевое сжатие текстур обычно требует отдельного gradient descent для каждого материала. Laurent Belcour (EGSR 2026) заменяет это hypernetwork (сетью, генерирующей веса другой сети): единственный прогон выдаёт latent-фичи текстуры и веса MLP-decoder-а разом. Качество — на уровне поматериальной оптимизации, бонус: super-resolution без дополнительного обучения.

#NeuralRendering #Rendering #Paper

Читать оригинал — Laurent Belcour
🔥2
Augmented Vertex Block Descent: один солвер на всю физику

Расширение Vertex Block Descent — блочно-координатного солвера физики — через augmented Lagrangian (расширенный лагранжиан). Метод остаётся безусловно устойчивым и хорошо параллелится на GPU, но теперь тянет жёсткие ограничения бесконечной жёсткости без взрыва: стабильные контакты, стекинг, трение и articulated bodies (сочленённые тела с шарнирами). Один солвер покрывает твёрдые, мягкие и сочленённые тела разом. В демо на RTX 4090 — 110 000 блоков за 3.5 мс на кадр.

#Simulation #Optimization #Paper #SIGGRAPH

Читать оригинал — Chris Giles, Elie Diaz, Cem Yuksel (Университет Юты)
Опять проморгал.
Энивей, держите приближенную к практике статейку по ниагаре.


Niagara не только частицы: Simulation Stages и Grid2D в UE5

Как использовать Niagara не как систему частиц, а как GPU-фреймворк общих вычислений — через Simulation Stages, проходы, работающие прямо по данным, а не по частицам. Мысль в том, что сетка 256×256 без них потребовала бы 65 536 частиц, а тут всё считается на Grid2D (render target в видеопамяти, с двойной буферизацией против гонок). Примеры: Game of Life, реакция-диффузия Грея-Скотта 512×512. Стадии — это HLSL compute shaders.

#VFX #ComputeShaders #UnrealEngine #Tutorial

Читать оригинал — StraySpark
4🔥1
И крайне интересный подход

Upsampling via Multisampling: апскейл из MSAA без нейросетей


John Hable переиспользует джиттер-сэмплы, уже лежащие в MSAA-буфере, чтобы не резолвить, а апскейлить: недостающие пиксели восстанавливаются из известных субпиксельных позиций. Дырки заполняет edge-directed интерполяция по правилу наименьшего градиента яркости — без «зубцов» на диагоналях. В отличие от TAA, держит тонкие детали вроде проводов и заборов, где ломается временная когерентность. Тайминги 1080p→4K на RTX 3070: 118 мкс (2x), 283 (4x), 731 (8x). Есть HLSL-референс под MIT.

#Antialiasing #Upscaling #Shaders #Tutorial

Читать оригинал — John Hable
🔥4
Шов на кубмапе IBL: как коррелированные сэмплы выдают баг HDRP

Разбор шва на гранях X+/X− преднасвеченных specular-кубмап — бага, живущего в Unity HDRP. Причина — столкновение двух оптимизаций: все пиксели берут одну и ту же low-discrepancy последовательность сэмплов, а тангент-базис строят через дешёвую функцию с сингулярностью. На центре грани одна ось базиса переворачивается, зеркаля паттерн выборки — отсюда разрыв. Пять лечений: blue-noise сэмплы, посев на пиксель, VNDF без базиса, стохастический поворот базиса или смириться.

#Lighting #Shaders #Unity #Breakdown

Читать оригинал — auzaiffe
Computing Camera Rays

Наивное вычисление ray direction через разность точек на near/far plane даёт catastrophic cancellation (потерю значащих цифр) — особенно когда камера далеко от начала координат. Кристоф Петерс предлагает задавать луч как пересечение двух clip-space плоскостей: трансформируете их в world space, cross product нормалей — стабильное направление готово. Метод работает и для perspective, и для orthographic без дополнительных ветвей. Код на GLSL прилагается.

#RayTracing #Rendering #Tutorial

Читать оригинал — Christoph Peters
🔥1
Procedural UV Derivatives Evaluation in SORT Renderer

Forward-mode automatic differentiation (AD — вычисление производных параллельно значениям) позволяет вычислять ∂UV/∂x и ∂UV/∂y для произвольных процедурных координат без численных аппроксимаций. «A Graphics Guy» разбирает реализацию в компиляторе SSL для рендерера SORT: вместо соблазнительного SIMD-сэмплирования для численного diff — «теневые» инструкции AD, протаскивающие производные сквозь граф.

#Shaders #Rendering #Tutorial

Читать оригинал
🔥2
#wtf
Чутка на посмеяться.
Моя основная рабочая станция ноне - ноутбук.
Активно эксплуатируется 24/7 уже почти 3 года.
Сегодня ровно посередь рабочего процесса засранец приказал долго жить.

С одной стороны можно порадоваться, это первый мой ноут, на котором сдохло именно что то на матери (кажись контроллер питания), с другой стороны - даже оч хорошее железо дохнет от наших темпов)))
Энивей, есть более хилая подменная машинка, на ней какое то время и поживу...
😱6💔3