Şu anda premultipli alfa ile XNA 3.1 kullanıyorum (4.0'da doğal Prultiplied Alpha desteği eklendi).
Çoğunlukla bana zaman kazandırıyor ve görüntülerimin saydam alanlarının doğru renklere sahip olduğundan emin oluyor. Ayrıca, varsayılan olarak premultiplication yapan Silverlight'a da bağlantı yaparım.
XNA, önceden üretilen alfa önişlemenin eklenmesini çok kolay hale getiren bir içerik kanalına sahiptir .
Bu bağlantı, dönüştürme işlemini yapmak için gereken kodu içerir. Her piksel için:
c.R = (byte)(c.R * c.A / 255);
c.G = (byte)(c.G * c.A / 255);
c.B = (byte)(c.B * c.A / 255);
Bir içerik kanalına sahip olmak için söylenecek çok şey var. XNA kullanmıyorsanız, ancak Visual Studio kullanıyorsanız, bunları kendiniz bir araya getirebilirsiniz . Diğer tüm IDE'ler / oluşturma işlemleri de yetenekli olmalıdır.
Ve son olarak, derlemenizde bir içerik işleme adımı yoksa (ve olasılıklar zaten çok fazla içeriğiniz yoksa), dokularınızı yüklerken çalışma zamanında ön çoğaltmayı kolayca yapabilirsiniz. Doku yükleme sürenize sabit bir faktör ekleyecektir.
(İma net değilse: muhtemelen olmamalıdır . Onları ön işlemeden daha iyisi eğer yapabilirsen İhracat onları önceden çarpılmış çarpılmış alfa görüntüleri düzenlerken, ya da.)