Berbagai jenis perangkat memiliki jenis karakteristik tampilan yang berbeda. Aplikasi Anda dapat memeriksa karakteristik layar perangkat yang menjalankannya untuk menyesuaikan konten Anda guna memastikan konten ditampilkan dengan cara terbaik.
Jenis mode pencampuran tampilan
Nilai DisplayBlendMode menjelaskan cara gambar
ditempatkan di atas dunia nyata. Teknologi layar ini secara mendasar mengubah
cara konten digital berpadu dengan dunia fisik.
Penggabungan aditif
Jika mode penggabungan tampilan saat ini adalah ADDITIVE, piksel hitam
akan tampak transparan. Hal ini sering digunakan oleh perangkat dengan lensa transparan yang
secara langsung memungkinkan lingkungan pengguna terlihat oleh mata pengguna. Perangkat
hanya dapat menambahkan lebih banyak cahaya ke permukaan.
Secara konkret, ini berarti konten virtual ditambahkan ke dunia nyata dengan menambahkan nilai piksel untuk setiap komponen merah, hijau, dan biru. Alfa diabaikan, dan piksel hitam tampak transparan.
Penggabungan alfa
Jika mode penggabungan tampilan saat ini adalah ALPHA_BLEND, konten virtual akan ditambahkan ke dunia nyata dengan menggabungkan nilai piksel berdasarkan komponen alfa. Hal ini berlaku untuk headset XR, yang menggunakan layar buram
untuk merender konten. Kecerahan setiap piksel dapat dikontrol dan
piksel dapat disetel agar tampak hitam. Bergantung pada lingkungan spasial yang aktif, piksel ini mungkin merepresentasikan dunia nyata melalui streaming kamera, atau lingkungan digital.
Tidak ada layar
Jika mode penggabungan tampilan saat ini adalah NO_DISPLAY,
perangkat tidak dapat menampilkan piksel apa pun.
Mendapatkan DisplayBlendMode saat ini
Untuk memeriksa DisplayBlendMode yang aktif, gunakan
XrDevice.getPreferredDisplayBlendMode:
val preferredDisplayBlendMode = XrDevice.getCurrentDevice(session).getPreferredDisplayBlendMode() when (preferredDisplayBlendMode) { ADDITIVE -> { // Virtual content is added to the real world by adding the pixel values for each of // Red, Green, and Blue components. Alpha is ignored. Black pixels will appear transparent. } ALPHA_BLEND -> { // Virtual content is added to the real world by alpha blending the pixel values based // on the Alpha component. } NO_DISPLAY -> { // Device doesn't have a display. } }