Alfa yang sudah di-preultiplied, ya atau tidak?


10

Haruskah saya menggunakan alfa yang telah ditiru sebelumnya? Membaca artikel Tom Forsyth sepertinya adalah seorang bangsawan. Alfa premultiplied (pencampuran aditif AKA) lebih unggul dalam segala hal.
Namun, alpha yang mengalami multiplikasi tampaknya memiliki satu kelemahan utama, itu tidak didukung dengan alat.

Apakah Anda / Anda sudah menggunakan alfa yang telah ditiru sebelumnya?

Bagaimana alat ini mendukung?

Secara khusus, saya tidak berpikir gimp akan mengedit gambar alpha pra-disipasi dengan baik. Apakah ada plugin gimp untuk mengekspor alpha yang telah di-pre -sipip? Bagaimana dengan alat eksternal?


Saya berada di posisi yang persis sama dengan Anda - saya ingin menggunakannya di mana-mana, tetapi saya tidak yakin seberapa mudah saya dapat mengedit aset saya dengannya jika saya perlu mengembangkan beberapa alat tambahan untuk itu.
Kylotan

Jawaban:


4

Saya menggunakan XNA 3.1 pada saat ini dengan alfa yang telah mengalami multiplikasi (dukungan Premultiplied Alpha asli ditambahkan pada 4.0).

Sebagian besar menghemat waktu saya melalui dan memastikan area transparan gambar saya memiliki warna yang benar. Saya juga port ke Silverlight, yang melakukan pra-aplikasi secara default.

XNA memiliki pipa konten yang membuat menambahkan preprocessing alfa pra-tanam super mudah.

Tautan itu berisi kode untuk melakukan konversi. Untuk setiap piksel:

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

Ada banyak yang bisa dikatakan untuk memiliki pipa konten. Jika Anda tidak menggunakan XNA, tetapi menggunakan Visual Studio, maka Anda bisa melakukannya sendiri . Semua proses IDE / build lain juga harus mampu.

Dan akhirnya, jika Anda tidak memiliki langkah pemrosesan konten di build Anda (dan kemungkinan Anda juga tidak memiliki banyak konten), Anda dapat dengan mudah melakukan pra-aplikasi saat runtime ketika Anda memuat tekstur Anda. Ini akan menambah beberapa faktor konstan pada waktu pemuatan tekstur Anda.

(Jika implikasinya tidak jelas: Anda mungkin tidak boleh mengedit gambar alfa yang telah di-prapultiplied. Ekspor terlebih dahulu jika Anda bisa, atau lebih baik lagi memprosesnya.)


Terima kasih. Seharusnya alpha pra-ditiru cukup baik didukung dalam XNA (atau segera akan). Saya masih mencari alat non-XNA untuk membuat jalur pipa saya.
deft_code

3

Jika Anda menggunakan XNA, ada sedikit dukungan untuk alpha yang sudah dikalikan. Biasanya konversi dilakukan dalam pipa konten, tetapi tidak ada yang menghentikan Anda melakukannya sendiri.


1

Saya menggunakan alpha yang di-pre-multiplikasi secara default di mesin saya (artis dapat memaksa non-yang di-premultiplied dalam file definisi material, jika diperlukan untuk efek khusus semacam)

Alat, seperti yang telah Anda perhatikan, tidak berurusan dengan baik dengan alfa yang telah ditiru sebelumnya - artis dapat mengatur warna dan saluran alfa sepenuhnya secara independen. Saya telah mengatur semuanya sehingga artis saya dapat membuat gambar tekstur dengan alpha non-premul (yang tampaknya lebih mudah pada otak artis), dan alat yang mengkonversi ke format tekstur mesin melipatgandakan alpha secara default. Ada sebuah saklar sehingga non-pra-tunas dapat dihasilkan jika benar-benar diperlukan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.