Попередньо розмножений альфа, так чи най?


10

Чи варто використовувати попередньо розмножений альфа? Читаючи статтю Тома Форсайта, то здається, що він є первенцем. Попередньо розмножений альфа (добавка AKA-добавки) є кращим у будь-якому сенсі.
Однак, схоже, у попередньо розмноженої альфа є один головний недолік, він недостатньо підтримується інструментами.

Ви / ви використовували попередньо розмножений альфа?

Як підтримується інструмент?

Зокрема, я не думаю, що gimp добре редагує попередньо промножені зображення альфа. Чи є плагіни gimp для експорту попередньо розмноженої альфа? Як щодо зовнішнього інструменту?


Я в абсолютно такому ж становищі, як і ви - я хочу використовувати його скрізь, але не впевнений, наскільки легко я можу редагувати свої активи, якщо мені потрібно розробити додатковий інструмент для цього.
Килотан

Відповіді:


4

На даний момент я використовую XNA 3.1 з попередньо розмноженою альфаю (натиснута підтримка Alfa Alpha в 4.0).

Здебільшого це економить мені час на проходження і гарантує, що прозорі області моїх зображень мають правильні кольори. Я також портую до Silverlight, який робить попереднє множення за замовчуванням.

XNA має контент-конвеєр, що робить додавання попередньо застосованої альфа-попередньої обробки дуже простою.

Це посилання містить код для перетворення. Для кожного пікселя:

c.R = (byte)(c.R * c.A / 255);
c.G = (byte)(c.G * c.A / 255);
c.B = (byte)(c.B * c.A / 255);

Існує багато сказати для того, щоб мати контент-конвеєр. Якщо ви не використовуєте XNA, але використовуєте Visual Studio, тоді ви можете зібрати один . Будь-які інші процеси IDE / build також повинні бути спроможними.

І нарешті, якщо у вас немає кроку обробки контенту у вашій збірці (і тому шанси у вас все одно не мають великого вмісту), ви можете так само легко виконати попереднє множення під час виконання тексту, коли ви завантажуєте текстури. Це додасть деякий постійний фактор до часу завантаження текстури.

(Якщо значення не було зрозумілим: ви, ймовірно, не повинні редагувати попередньо множинні альфа-зображення. Експортуйте їх попередньо, якщо ви можете, а ще краще попередньо обробити їх.)


Дякую. Це, як попередньо розмножений альфа, досить добре підтримується в XNA (або скоро буде). Я все ще шукаю не-XNA інструменти для створення свого конвеєра.
deft_code

3

Якщо ви випадково використовуєте XNA, існує досить велика підтримка попередньо помноженого альфа. Зазвичай перетворення проводиться в контентному конвеєрі, але ніщо не заважає зробити це самостійно.


1

Я використовую попередньо множину альфа за замовчуванням у своєму двигуні (художник може змусити неперемножуватись у файлі визначення матеріалу, якщо це потрібно для особливого ефекту якогось)

Інструменти, як ви вже помітили, не справляються з попередньо розмноженими альфами - художник може встановити кольорові та альфа-канали абсолютно незалежно. Я налаштував такі речі, щоб мій художник міг створювати текстурні зображення за допомогою непередбаченої альфа (що, мабуть, легше в мозку виконавця), а інструмент, який перетворює на формат текстури двигуна, примножує альфа за замовчуванням. Існує перемикач, який може бути створений без попереднього введення, якщо він абсолютно необхідний.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.