OpenGL: Mesh shaders in the current year
Khronos одобрила расширение GL_EXT_mesh_shader для OpenGL, и это первый шаг к полному Mesh Shaders в линейке Mesa. Реализация уже влили в mesa, а вот драйвер RadeonSI ждёт своей очереди. Релиз ожидается в ближайшие дни.
Это первая крупная фича для OpenGL за долгое время, и она привнесёт геометрические шейдеры в core Mesa. Работа велась под эгидой AMD, при поддержке Qiang Yu и Shihao Wang.
Комментарии (118)
- Обсуждение в основном вращается вокруг будущего OpenGL и его расширений, включая GL_EXT_mesh_shader и GL_EXT_descriptor_buffer, а также их влияние на Minecraft и другие проекты.
- Участники обсуждают, что новые расширения делают возможным использование шейдеров накладки и дескрипторов буферов, что может быть полезно для таких проектов, как Minecraft.
- Также обсуждается, что OpenGL всё ещё используется в Minecraft и других проектах, и что новые расширения могут помочь в разработке игр.
- Некоторые участники выражают обеспокоенность по поводу того, что OpenGL может быть вытеснен Vulkan и другими API, и что поддержка OpenGL может быть прекращена в будущем.
- В обсуждении также затрагиваются такие темы, как эволюция графических API и их влияние на разработку игр и будущее OpenGL.
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 = лучшее соотношение качество/скорость для больших радиусов в реальном времени.
Комментарии (38)
- Автор статьи рассказал о Dual-Kawase Blur и личном интервью с Масаки Кавасэ.
- Участники обсудили, что Kawase-blur 2005 года уступает современным боке-эффектам, но всё ещё полезен на слабом железе.
- Поднят вопрос: как адаптировать Kawase для compute-шейдеров без записи в DRAM.
- Уточнили, что гауссово размытие можно точно получить в Фурье-пространстве, но это не всегда быстрее.
- Появились советы по улучшению читаемости (убрать выключку) и объяснено, что Spherical Harmonics не связаны с размытием.
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 лишь для комментариев и шаблонов.
Комментарии (21)
This looks a lot like some line anti aliasing I had to hack together many years ago when a customer started complaining loudly about the lack of hardware support for it. I think I had something like a week to put together three different alternatives for them to pick from, and th