Önceden çarpılmış alfa, evet veya nay?


10

Önceden çarpılmış alfa mı kullanmalıyım? Tom Forsyth'ın makalesini okurken bir beyinsiz görünüyor. Önceden çarpılmış alfa (AKA katkı harmanlaması) her anlamda üstündür.
Bununla birlikte, önceden çarpılmış alfa'nın büyük bir dezavantajı var gibi görünüyor, araçlarla iyi desteklenmiyor.

Önceden çarpılmış alfa kullandınız mı?

Araç nasıl desteklenir?

Özellikle, gimp'in çarpılmış alfa görüntülerini iyi düzenleyeceğini sanmıyorum. Önceden çarpılmış alfa'yı dışa aktarmak için gimp eklentileri var mı? Harici bir alete ne dersiniz?


Sizinle tam olarak aynı pozisyondayım - her yerde kullanmak istiyorum, ancak bunun için fazladan bir takım geliştirmem gerekiyorsa, varlıklarımı onunla ne kadar kolay düzenleyebileceğimden emin değilim.
Kylotan

Yanıtlar:


4

Ş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.)


Teşekkürler. Önceden çarpılmış alfa XNA'da yeterince iyi destekleniyor (ya da yakında olacak) gibi olmalı. Hala benim boru hattı ile oluşturmak için XNA olmayan araçlar arıyorum.
deft_code

3

XNA kullanıyorsanız, önceden çoğaltılmış alfa için biraz destek var. Genellikle dönüşüm içerik kanalında yapılır, ancak bunu kendiniz yapmanıza engel olan hiçbir şey yoktur.


1

Motorumda varsayılan olarak önceden çarpılmış alfa kullanıyorum (sanatçı, bir tür özel bir efekt için gerekliyse, malzeme tanım dosyasında önceden çarpılmaya zorlayabilir)

Araçlar, fark ettiğiniz gibi, çarpılmış alfa ile iyi başa çıkmaz - sanatçı renk ve alfa kanallarını tamamen bağımsız olarak ayarlayabilir. Sanatçının, premül olmayan alfa (sanatçı beyninde daha kolay görünüyor) gibi doku görüntüleri oluşturabilmesi için bir şeyler ayarladım ve motorun doku formatına dönüşen araç alfa'yı varsayılan olarak çarpar. Kesinlikle gerekliyse, önceden çarpılmayan bir anahtar üretilebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.