Alfa moltiplicata, sì o no?


10

Dovrei usare l'alfa premoltiplicata? Leggendo l' articolo di Tom Forsyth sembra un nobrainer. L'alfa premoltiplicata (miscelazione di additivi AKA) è superiore in tutti i sensi.
Tuttavia, l'alfa premoltiplicata sembra avere un grosso svantaggio, non è ben supportata dagli strumenti.

Hai / hai usato l'alfa premoltiplicata?

Come è supportato lo strumento?

In particolare, non credo che gimp modificherà bene le immagini alfa premoltiplicate. Esistono plugin gimp per esportare alpha premoltiplicati? Che ne dici di uno strumento esterno?


Sono esattamente nella tua stessa posizione: voglio usarlo ovunque, ma non sono sicuro di quanto facilmente posso modificare i miei asset con esso se devo sviluppare alcuni strumenti extra per esso.
Kylotan,

Risposte:


4

Al momento utilizzo XNA 3.1 con alpha premoltiplicato (il supporto nativo Premultiplied Alpha è stato aggiunto in 4.0).

Per lo più mi fa risparmiare tempo passando e assicurandomi che le aree trasparenti delle mie immagini abbiano i colori corretti. Porto anche a Silverlight, che per impostazione predefinita esegue la moltiplicazione.

XNA ha una pipeline di contenuti che rende super-semplice l' aggiunta della pre - elaborazione alfa premontata .

Quel link contiene il codice per eseguire la conversione. Per ogni pixel:

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

C'è molto da dire per avere una pipeline di contenuti. Se non stai usando XNA, ma stai usando Visual Studio, potresti crearne uno tu stesso . Anche qualsiasi altro IDE / processo di creazione dovrebbe essere in grado.

E infine, se non hai una fase di elaborazione del contenuto nella tua build (e quindi le probabilità sono che non hai un sacco di contenuti comunque), puoi altrettanto facilmente eseguire la premoltiplicazione in fase di esecuzione quando carichi le trame. Aggiungerà un fattore costante al tempo di caricamento della trama.

(Se le implicazioni non fossero chiare: probabilmente non dovresti modificare le immagini alfa premoltiplicate. Se possibile, esportale premoltiplicate, o meglio ancora preelaborarle.)


Grazie. Dovrebbe come se l'alfa premoltiplicata sia sufficientemente supportata in XNA (o presto lo sarà). Sto ancora cercando strumenti non XNA con cui creare la mia pipeline.
deft_code

3

Se usi XNA, c'è abbastanza supporto per l'alfa pre-moltiplicata. Di solito la conversione viene eseguita nella pipeline di contenuti, ma non c'è nulla che ti impedisce di farlo da solo.


1

Uso l'alfa premoltiplicata per impostazione predefinita nel mio motore (l'artista può forzare non premoltiplicati nel file di definizione del materiale, se è necessario per un effetto speciale di qualche tipo)

Gli strumenti, come hai notato, non si comportano bene con l'alfa premoltiplicata: l'artista può impostare il colore e i canali alfa in modo completamente indipendente. Ho impostato le cose in modo che il mio artista possa creare le immagini di trama con alfa non premul (che sembra essere più facile sul cervello dell'artista) e lo strumento che converte nel formato di trama del motore moltiplica l'alfa per impostazione predefinita. C'è un interruttore in modo da poter generare non premoltiplicato se è assolutamente necessario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.