Memahami Premultiplied Alpha: Panduan Lengkap untuk Pembangun
Dalam pengimejan digital, imej dengan ketelusan biasanya disimpan menggunakan 'Straight Alpha'. Ini bermakna fail mengandungi empat saluran berasingan: Red, Green, Blue, dan Alpha (RGBA). Saluran warna adalah bebas sepenuhnya daripada saluran ketelusan. Sebagai contoh, piksel putih 50% telus disimpan sebagai R:255, G:255, B:255, A:127 (kerana 127 adalah kira-kira separuh daripada 255). Format ini difahami secara universal oleh pelihat imej dan penyemak imbas web standard, menjadikannya lalai untuk fail PNG dan WebP.
Walau bagaimanapun, apabila pembangun permainan dan jurutera grafik bekerja dengan enjin paparan seperti WebGL, OpenGL, Unity, atau Unreal Engine, Straight Alpha menimbulkan masalah pengiraan dan visual yang ketara. Untuk mencampurkan tekstur Straight Alpha di atas latar belakang, GPU mesti melakukan pengiraan yang kompleks: ia mendarabkan warna tekstur dengan alpha-nya, mendarabkan warna latar belakang dengan songsangan alpha, dan menambahkannya bersama. Apabila anda mempunyai ribuan zarah telus yang bertindih—seperti asap, api, atau jampi sihir—melakukan pendaraban ini secara masa nyata untuk setiap piksel menjejaskan kadar bingkai dan prestasi GPU secara teruk.
Di sinilah Premultiplied Alpha menjadi penting. Imej premultiplied memasukkan langkah pendaraban pertama itu terus ke dalam data tekstur sebelum ia sampai ke enjin. Menggunakan contoh piksel putih 50% telus kami sebelum ini, versi premultiplied mendarabkan nilai RGB (255) dengan peratusan alpha (0.5), menyimpan piksel sebagai R:127, G:127, B:127, A:127. Dengan melakukan pengiraan ini lebih awal menggunakan alat percuma kami, anda menjimatkan GPU daripada perlu melakukan pengiraan itu semasa runtime, menghasilkan komposisi alpha yang jauh lebih cekap dan prestasi permainan yang lebih lancar.