Pixel adalah kumpulan komponen. Secara tradisional komponen ini merah, hijau dan biru, dengan masing-masingnya mengambil 8 bit data.
Karena sering menguntungkan memiliki memori yang diselaraskan dengan cara-cara tertentu, ini di mana kadang-kadang dikemas ke dalam 32 bit ruang masing-masing. Ini menyisakan 8 bit data tambahan di akhir setiap piksel. Karena ini bukan merah, atau hijau, atau biru, itu perlu nama - dan alfa adalah nama yang relatif tidak berarti.
Sekarang, ketika Anda memiliki array piksel yang disusun menjadi persegi panjang, Anda mendapatkan ini:
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
terkadang Anda hanya ingin berbicara tentang salah satu warna di atas, katakanlah merah:
R***R***R***R***
R***R***R***R***
R***R***R***R***
R***R***R***R***
sub pemilihan ini hanya dari satu elemen dari setiap komponen piksel disebut "saluran" pada gambar. Karena piksel memiliki 4 komponen, gambar ini memiliki 4 saluran.
Ada format gambar lain di mana tidak ada saluran alfa:
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
dan ada format dengan jumlah bit per komponen pixel yang berbeda (3,5,8,16,32), dan beberapa memiliki bit yang tidak seragam per komponen pixel.
Saluran menjadi array "virtual" hanya dari satu komponen pixel. (Saya katakan virtual, karena ada langkah di antara setiap elemen, sedangkan array secara tradisional tidak memiliki langkah seperti itu)
Bagian RGB juga tidak diperbaiki - Anda dapat memiliki gambar skala abu-abu dengan atau tanpa saluran alfa, Anda dapat memiliki gambar CMYK (blacK Cyan Magenta Yellow, biasanya dalam ruang warna yang kurang), Anda dapat memiliki gambar yang memiliki segudang saluran warna berbeda yang dibuat oleh raytracer specular atau instrumen ilmiah.
Meskipun saya telah memperlakukan piksel seolah-olah selalu berdampingan, juga memungkinkan saluran dipisah ke beberapa lokasi, seperti ini:
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
atau bahkan
RRRR
RRRR
RRRR
RRRR
GGGG
GGGG
GGGG
GGGG
BBBB
BBBB
BBBB
BBBB
AAAA
AAAA
AAAA
AAAA
atau memiliki RGB yang dikemas dan A disimpan dalam buffer terpisah.
Ini tidak biasa dalam data langsung dalam permainan, karena kartu grafis modern sering dirancang di sekitar piksel RGBA. RGB dapat ditangani secara seragam, dan dengan perhitungan cepat yang berdekatan dapat dilakukan yang memungkinkan pengomposisian piksel RGBA di atas latar belakang yang telah dicat sebelumnya.
Saluran alfa sering digunakan untuk informasi transparansi. Yang menjengkelkan, nilai maks alpha kadang-kadang diperlakukan sebagai transparan, dan kadang-kadang sebagai buram, dengan basis kode yang berbeda. Ini lagi kurang umum saat ini. Saluran Alpha juga telah digunakan untuk pemesanan z-buffer (seberapa jauh pixel dari penampil) untuk memungkinkan gambar yang tidak terurut ke sebuah adegan, dan pemetaan mip tradisional dilakukan dengan mendorong gambar beresolusi rendah 2x lebih kecil (atau 4x lebih sedikit piksel) ke dalam gambar. saluran alpha dari gambar beresolusi lebih tinggi, secara rekursif.
Bahkan dalam sistem yang menggunakan piksel RGBA, makna piksel ini dapat tidak setuju. Apakah R mengukur seberapa merah yang dilihat manusia, atau berapa foton merah yang harus dipancarkan? Ini adalah perbedaan antara ruang warna linier dan non-linier, dan ini berdampak pada cara yang benar untuk menggabungkan piksel tersebut dengan saluran transparansi.