अलग-अलग तरह के डिवाइसों में, डिसप्ले की अलग-अलग विशेषताएं होती हैं. आपका ऐप्लिकेशन, उस डिवाइस के डिसप्ले की विशेषताओं की जांच कर सकता है जिस पर वह चल रहा है. इससे, आपके कॉन्टेंट को डिवाइस के हिसाब से ढाला जा सकता है, ताकि यह पक्का किया जा सके कि वह सबसे अच्छे तरीके से दिखे.
डिसप्ले ब्लेंड मोड के टाइप
DisplayBlendMode वैल्यू से पता चलता है कि इमेज को असल दुनिया के ऊपर कैसे ओवरले किया गया है. डिसप्ले टेक्नोलॉजी, डिजिटल कॉन्टेंट को
फ़िज़िकल दुनिया के साथ ब्लेंड करने के तरीके को
एडिटिव ब्लेंडिंग
जब मौजूदा डिसप्ले ब्लेंड मोड ADDITIVE पर सेट होता है, तो काले पिक्सल पारदर्शी दिखते हैं. इसका इस्तेमाल अक्सर पारदर्शी लेंस वाले डिवाइसों में किया जाता है. इससे उपयोगकर्ता को अपने आस-पास का माहौल सीधे तौर पर दिखता है. डिवाइस, सतह पर सिर्फ़ ज़्यादा रोशनी डाल सकता है.
इसका मतलब है कि वर्चुअल कॉन्टेंट को असल दुनिया में जोड़ने के लिए, लाल, हरे, और नीले रंग के कॉम्पोनेंट की पिक्सल वैल्यू जोड़ी जाती हैं. अल्फ़ा को अनदेखा कर दिया जाता है और काले पिक्सल, सी-थ्रू दिखते हैं.
ऐल्फ़ा ब्लेंडिंग
जब मौजूदा डिसप्ले ब्लेंड मोड ALPHA_BLEND होता है, तो वर्चुअल कॉन्टेंट को असल दुनिया में जोड़ा जाता है. इसके लिए, ऐल्फ़ा कॉम्पोनेंट के आधार पर पिक्सल वैल्यू को ऐल्फ़ा ब्लेंड किया जाता है. एक्सआर हेडसेट के मामले में ऐसा होता है. ये कॉन्टेंट रेंडर करने के लिए, ओपेक डिसप्ले का इस्तेमाल करते हैं. हर पिक्सल की चमक को कंट्रोल किया जा सकता है. साथ ही, पिक्सल को काले रंग में दिखने के लिए सेट किया जा सकता है. चालू स्पेशल एनवायरमेंट के आधार पर, ये पिक्सल कैमरे से स्ट्रीम किए गए वीडियो या डिजिटल एनवायरमेंट के ज़रिए, असल दुनिया को दिखा सकते हैं.
कोई डिसप्ले नहीं
जब मौजूदा डिसप्ले ब्लेंड मोड NO_DISPLAY पर सेट हो, तो डिवाइस कोई भी पिक्सल नहीं दिखा सकता.
मौजूदा DisplayBlendMode की जानकारी पाना
चालू DisplayBlendMode की जांच करने के लिए,
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. } }