Новое слово в оптимизации рендера OKLCH-пространства в цветовых миксерах.
Андрей Николаев переписал в Фигма-плагине для OKLCH <canvas>-рендеринг на WebGL-шейдеры, чтобы рендерить 1200×1200 пикселей за миллисекунды.
Новое слово в оптимизации рендера OKLCH-пространства в цветовых миксерах. Андрей Николаев переписал в Фигма-плагине для OKLCH <canvas>-рендеринг на WebGL-шейдеры, чтобы рендерить 1200×1200 пикселей за миллисекунды. 3 comments
И говорите потом, что фронтенд — это легко. Написать WebGL-шейдер — это, считайте, аналог вставке на ассемблере. |
Чтобы вы понимали насколько это круто:
Шейдеры — это программа на специальном C-подобном языке, которая выполняется на ядрах видеокарты (их тысячи).
Каждый шейдер считает отдельный пиксель.
Так как всё считается параллельно, то нельзя смотреть на результат подсчёта соседних пикселей.
Но можно смотреть, что было в пикселях в прошлом кадре.
Для рендера OKLCH-пространства это ограничение подходит идеально.
https://github.com/freydev/okcolor/tree/ca4a98f97e7660f6dca16dc63cb026a026d435ba/ui/shaders