gpu-scalar-vs-vector-architectures.md
20.1 KB
#wtf
На днях ко мне заглянул коллега с вопросом "а что, векторизация, как метод оптимизации шейдеров устарел? Сейчас все GPU скалярные?"
Краткий ответ - да, но с некоторыми нюансами.
В общем держите как результат небольшой документик от fable с сбором данных о том какие gpu ныне скалярные и не требуют векторизации математики.
Кратко: все современные gpu - действительно скалярные. Но, нужно понимать что память то нет :)
Биндинги, вычисления в пониженной точности (half) - векторизация все еще работает и является достаточно критичной.
Важное замечание - тот же UE, для PC выполняет расчеты пиксельного шейдера в half (если явно не указать расчет в float, и если не писать в custom), а на мобильных девайсах еще и vertex shader старается держать в half.
Так что, выбирайте метод оптимизации исходя из понимания вашего тулкита, необходимости жесткой экономии и понимания что на дворе 26й год - оборудование и методы другие, и многое уже можно не делать руками лично :)
На днях ко мне заглянул коллега с вопросом "а что, векторизация, как метод оптимизации шейдеров устарел? Сейчас все 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ý
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ý
GitHub
GitHub - boksajak/MLPZen
Contribute to boksajak/MLPZen development by creating an account on GitHub.
🔥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
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
Interplay of Light
Adventures in Neural Rendering part 2: Cooperative vectors
In the previous blog post we discussed a few potential neural network (MLP) applications in rendering and one of the conclusions was that although easy to implement, inference cost can be quite hig…
🔥1
Forwarded from ai.dot(ufna, dev)
Крайне козырная штука, если вы равлекаетесь с селф-хостед модельками "для внешних человеков" (да или для себя, но параноидально). Реально скорость убойная. Но очень, очень странно выглядящее решение!
Китайцы реально китайцы.
https://github.com/TencentCloud/CubeSandbox
Китайцы реально китайцы.
https://github.com/TencentCloud/CubeSandbox
GitHub
GitHub - TencentCloud/CubeSandbox: Instant, Concurrent, Secure & Lightweight Sandbox for AI Agents.
Instant, Concurrent, Secure & Lightweight Sandbox for AI Agents. - TencentCloud/CubeSandbox
🔥1
#WTF
В целом ID живо и это главное.
Что будет с ID Tech? Использование стороннего движка - ужасающий репутационный удар №2, который может и похоронить компанию.
Скорее всего zenimax/bethesda это дело понимают.
+ если быть честным, не слышал, что бы сокращали движковую команду MachineGames, которую мне нахваливал коллега.
Так что ID Tech будет жить, не так жирно, но будет, и чуууть меньше руками ID. Надеюсь на перераспределение ресурсов внутри холдинга.
Всем коллегам из ID и MachineGames, уволенным и оставшимся - держитесь. Нам за вас чертовски обидно.
В целом ID живо и это главное.
Что будет с ID Tech? Использование стороннего движка - ужасающий репутационный удар №2, который может и похоронить компанию.
Скорее всего zenimax/bethesda это дело понимают.
+ если быть честным, не слышал, что бы сокращали движковую команду MachineGames, которую мне нахваливал коллега.
Так что ID Tech будет жить, не так жирно, но будет, и чуууть меньше руками ID. Надеюсь на перераспределение ресурсов внутри холдинга.
Всем коллегам из ID и MachineGames, уволенным и оставшимся - держитесь. Нам за вас чертовски обидно.
❤13💔2⚡1👍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
Чтобы не трассировать лучи AO каждый кадр, Kostas Anagnostou кеширует результаты в spatial hash-таблице с ключом «позиция + нормаль поверхности». Старые ячейки вытесняются после 20 кадров бездействия. На Nvidia 3080 Mobile при 1080p — 0,4 мс против 1,72 мс у стандартного RTAO; памяти 11,4 МБ. Ограничение: только статическая геометрия, динамические объекты исключены.
#Tutorial #RayTracing #Optimization #GPU
Читать оригинал — Kostas Anagnostou
Interplay of Light
Spatial hashing for raytraced ambient occlusion
Subdividing a 3D space into cells or voxels and using positional and/or directional information to directly index into it is a popular method to store and access local data, typically using 3D text…
🔥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
Команда 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
Activision
The Neural Light Grid: A Scalable Production-Ready Learned Irradiance Volume
Our system that precomputes and stores indirect diffuse lighting into a volume-based data structure of lighting probes for our large game scenes.
🔥2
Так-с, сорри, вчера я благополучно опять заработался и уполз что то в районе семи утра, даже не вспомнив про публикацию. За это сегодня будет две публикации.
(PS, надо будет опять набить отложку, с моим ритмом это единственный надежный способ)
Индюшкам на заметку
Per-Texel Lighting
Техника baked-освещения с точностью до текселя: каждый тексель меша переводится в world-space через барицентрические координаты, получает освещённость по углу к источнику и тестируется на пересечение с геометрией для мягких теней. Расстояние до ближайшего препятствия управляет blur penumbra. Дорого — compute shader + многопоток, — но даёт детальные baked-тени для стилизованных статичных сцен.
#Tutorial #Lighting #Shadows
Читать оригинал
(PS, надо будет опять набить отложку, с моим ритмом это единственный надежный способ)
Индюшкам на заметку
Per-Texel Lighting
Техника baked-освещения с точностью до текселя: каждый тексель меша переводится в world-space через барицентрические координаты, получает освещённость по углу к источнику и тестируется на пересечение с геометрией для мягких теней. Расстояние до ближайшего препятствия управляет blur penumbra. Дорого — compute shader + многопоток, — но даёт детальные baked-тени для стилизованных статичных сцен.
#Tutorial #Lighting #Shadows
Читать оригинал
Home
Per Texel Lighting
Do you want to emulate older 3D games but with a new touch? This might interest you.
🔥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
Рекурсивный 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
Pointersgonewild
A Recursive Algorithm to Render Signed Distance Fields
🔥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
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
NVIDIA Real-Time Graphics Research
Gradient-Domain ReSTIR Path Tracing | NVIDIA Real-Time Graphics Research
<p>Gradient-domain rendering accelerates realistic image synthesis by also estimating pixel color differences, which helps reconstruct high frequencies in the image domain. Converged images still require many samples per pixel even with denoising, and to…
🔥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
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
arXiv.org
Aokana: A GPU-Driven Voxel Rendering Framework for Open World Games
Voxels are among the most popular 3D geometric representations today. Due to their intuitiveness and ease-of-editing, voxels have been widely adopted in stylized games and low-cost independent...
🔥6👍3
HiPR: Hierarchical Progressive Rendering for Immediate Feedback
HiPR устраняет главный дискомфорт интерактивного path tracing: долгое ожидание после каждого изменения сцены. Алгоритм строит иерархию зависимостей световых путей от изменённых объектов и обновляет пиксели по убыванию визуального эффекта — сначала самое заметное. Итог: мгновенный отклик без артефактов, сходящийся к несмещённому результату. Особенно полезно для редакторов уровней, где нужна живая обратная связь.
#PathTracing #RealTimeRendering #Paper
Читать оригинал — Rafael Padilla, Andrew Tate, Dhruv Ram, Cem Yuksel
HiPR устраняет главный дискомфорт интерактивного path tracing: долгое ожидание после каждого изменения сцены. Алгоритм строит иерархию зависимостей световых путей от изменённых объектов и обновляет пиксели по убыванию визуального эффекта — сначала самое заметное. Итог: мгновенный отклик без артефактов, сходящийся к несмещённому результату. Особенно полезно для редакторов уровней, где нужна живая обратная связь.
#PathTracing #RealTimeRendering #Paper
Читать оригинал — Rafael Padilla, Andrew Tate, Dhruv Ram, Cem Yuksel
arXiv.org
HiPR: Hierarchical Progressive Rendering for Immediate Feedback
Hierarchical Progressive Rendering (HiPR) is a dynamic render-scheduling algorithm that makes interactive path tracing finally feel real-time. While most renderers recompute the entire frame after...
👍2❤1
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
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
Нейросетевое сжатие текстур обычно требует отдельного gradient descent для каждого материала. Laurent Belcour (EGSR 2026) заменяет это hypernetwork (сетью, генерирующей веса другой сети): единственный прогон выдаёт latent-фичи текстуры и веса MLP-decoder-а разом. Качество — на уровне поматериальной оптимизации, бонус: super-resolution без дополнительного обучения.
#NeuralRendering #Rendering #Paper
Читать оригинал — Laurent Belcour
arXiv.org
Neural Texture Compression using Hypernetworks
Recent work on neural texture compression has demonstrated that it is possible to learn small, per-material texture representations (composed of latent textures and a small Multi-Layer Perceptron...
🔥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 (Университет Юты)
Расширение 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
Энивей, держите приближенную к практике статейку по ниагаре.
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
www.strayspark.studio
Niagara VFX Beyond Particles: Simulation Stages, Grid2D, and GPU-Driven Effects in UE5
An advanced guide to Niagara in Unreal Engine 5 covering simulation stages, Grid2D fluid and fire simulation, GPU-driven computation, gameplay-driven VFX, and practical techniques for Conway's Game of Life, reaction-diffusion patterns, falling sand, and audio…
❤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
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
Filmic Worlds
Upsampling via Multisampling
Can we use multisampling effectively for upsampling? This has been a question in the back of my mind for give or take 10+ years.
🔥4
Шов на кубмапе IBL: как коррелированные сэмплы выдают баг HDRP
Разбор шва на гранях X+/X− преднасвеченных specular-кубмап — бага, живущего в Unity HDRP. Причина — столкновение двух оптимизаций: все пиксели берут одну и ту же low-discrepancy последовательность сэмплов, а тангент-базис строят через дешёвую функцию с сингулярностью. На центре грани одна ось базиса переворачивается, зеркаля паттерн выборки — отсюда разрыв. Пять лечений: blue-noise сэмплы, посев на пиксель, VNDF без базиса, стохастический поворот базиса или смириться.
#Lighting #Shaders #Unity #Breakdown
Читать оригинал — auzaiffe
Разбор шва на гранях X+/X− преднасвеченных specular-кубмап — бага, живущего в Unity HDRP. Причина — столкновение двух оптимизаций: все пиксели берут одну и ту же low-discrepancy последовательность сэмплов, а тангент-базис строят через дешёвую функцию с сингулярностью. На центре грани одна ось базиса переворачивается, зеркаля паттерн выборки — отсюда разрыв. Пять лечений: blue-noise сэмплы, посев на пиксель, VNDF без базиса, стохастический поворот базиса или смириться.
#Lighting #Shaders #Unity #Breakdown
Читать оригинал — auzaiffe
A journey into rendering
Sample Decorrelation in BRDF Preconvolution for Image Based Lighting
Introduction During my time as a member of the HDRP team at Unity, one of the systems I contributed to was the split-sum approximation-based image-based lighting, more precisely for the Sheen light…
Computing Camera Rays
Наивное вычисление ray direction через разность точек на near/far plane даёт catastrophic cancellation (потерю значащих цифр) — особенно когда камера далеко от начала координат. Кристоф Петерс предлагает задавать луч как пересечение двух clip-space плоскостей: трансформируете их в world space, cross product нормалей — стабильное направление готово. Метод работает и для perspective, и для orthographic без дополнительных ветвей. Код на GLSL прилагается.
#RayTracing #Rendering #Tutorial
Читать оригинал — Christoph Peters
Наивное вычисление 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
Читать оригинал
Forward-mode automatic differentiation (AD — вычисление производных параллельно значениям) позволяет вычислять ∂UV/∂x и ∂UV/∂y для произвольных процедурных координат без численных аппроксимаций. «A Graphics Guy» разбирает реализацию в компиляторе SSL для рендерера SORT: вместо соблазнительного SIMD-сэмплирования для численного diff — «теневые» инструкции AD, протаскивающие производные сквозь граф.
#Shaders #Rendering #Tutorial
Читать оригинал
Agraphicsguynotes
Procedural UV Derivatives Evaluation in SORT Renderer
In this post, I want to talk about a topic I have been meaning to write about for quite a few years: texture UV derivatives evaluation in my offline renderer, SORT (Simple Open Source Ray Tracer), which I’ll use throughout this post. It normally is not a…
🔥2
#wtf
Чутка на посмеяться.
Моя основная рабочая станция ноне - ноутбук.
Активно эксплуатируется 24/7 уже почти 3 года.
Сегодня ровно посередь рабочего процесса засранец приказал долго жить.
С одной стороны можно порадоваться, это первый мой ноут, на котором сдохло именно что то на матери (кажись контроллер питания), с другой стороны - даже оч хорошее железо дохнет от наших темпов)))
Энивей, есть более хилая подменная машинка, на ней какое то время и поживу...
Чутка на посмеяться.
Моя основная рабочая станция ноне - ноутбук.
Активно эксплуатируется 24/7 уже почти 3 года.
Сегодня ровно посередь рабочего процесса засранец приказал долго жить.
С одной стороны можно порадоваться, это первый мой ноут, на котором сдохло именно что то на матери (кажись контроллер питания), с другой стороны - даже оч хорошее железо дохнет от наших темпов)))
Энивей, есть более хилая подменная машинка, на ней какое то время и поживу...
😱6💔3