Що таке Premultiplied Alpha: повний посібник для розробників
У цифрових зображеннях файли з прозорістю зазвичай зберігаються у форматі 'Straight Alpha'. Це означає, що файл містить чотири окремі канали: червоний, зелений, синій та альфа (RGBA). Кольорові канали повністю незалежні від каналу прозорості. Наприклад, білий піксель із прозорістю 50% зберігається як R:255, G:255, B:255, A:127 (оскільки 127 — це приблизно половина від 255). Цей формат підтримується більшістю переглядачів та браузерів, тому є стандартом для PNG та WebP.
Однак під час роботи з графічними рушіями (WebGL, OpenGL, Unity, Unreal Engine) Straight Alpha викликає значні проблеми з продуктивністю та візуальними артефактами. Щоб змішати текстуру Straight Alpha з фоном, GPU має виконати складне обчислення: помножити колір текстури на альфу, помножити колір фону на інвертовану альфу та додати їх. Коли в грі є тисячі прозорих частинок (дым, вогонь, магія), виконання цього множення в реальному часі для кожного пікселя суттєво знижує частоту кадрів.
Саме тут необхідний Premultiplied Alpha. У цьому форматі перше множення вже запечене в дані текстури. У прикладі з білим пікселем із 50% прозорості версія premultiplied множить значення RGB (255) на відсоток альфи (0.5), зберігаючи піксель як R:127, G:127, B:127, A:127. Попередній розрахунок за допомогою нашого безкоштовного інструмента звільняє GPU від зайвих обчислень під час виконання, забезпечуючи швидший композитинг та плавну роботу гри.

