Дизеринг — имитация оттенков с помощью паттернов из точек. Когда нужен серый, а есть только чёрный и белый — чередуете их, и глаз воспринимает как серый. Отсюда вся ретро-эстетика 1-bit графики.
➡️ В чём проблема обычного дизеринга
Классический screen-space дизеринг создаёт паттерн в экранных координатах — при движении объекта или камеры точки «скользят» по поверхности. Выглядит как шум, ломает иллюзию. А если привязать паттерн к UV — при зуме точки становятся огромными или микроскопическими.
➡️ Как работает Surface-Stable
Метод использует фрактальное свойство матриц Байера: при увеличении масштаба одна точка «разделяется» на четыре меньших, при уменьшении — четыре сливаются в одну. Точки никогда не появляются и не исчезают хаотично.
➡️ Что в репозитории
🔘Шейдеры для Unity (Built-in RP, Forward)
🔘Grayscale, RGB и CMYK halftone режимы
🔘True 1-bit low-res эффекты
🔘Тестировано на Unity 2019.4, 2022.3, Unity 6
🔘Есть порт на Godot от сообщества
➡️ Где применять
Ретро-стилизация, комикс-шейдинг, эффекты а-ля Return of the Obra Dinn, художественный halftone.
📎 GitHub, объяснение на YT, демо на YT
@make_game