Verschiedene Gerätetypen haben unterschiedliche Displayeigenschaften. Deine App kann die Displayeigenschaften des Geräts prüfen, auf dem sie ausgeführt wird, um deine Inhalte so anzupassen, dass sie bestmöglich angezeigt werden.
Arten von Mischmodi für die Anzeige
Ein DisplayBlendMode-Wert beschreibt, wie die Bilder über die reale Welt gelegt werden. Die Displaytechnologie verändert grundlegend, wie digitale Inhalte mit der physischen Welt verschmelzen.
Additive Zusammenführung
Wenn der aktuelle Anzeigemischmodus ADDITIVE ist, werden schwarze Pixel transparent dargestellt. Diese Methode wird häufig bei Geräten mit transparenten Linsen verwendet, die die Umgebung des Nutzers direkt an die Augen des Nutzers weitergeben. Das Gerät kann der Oberfläche nur mehr Licht hinzufügen.
Konkret bedeutet das, dass virtuelle Inhalte der realen Welt hinzugefügt werden, indem die Pixelwerte für die roten, grünen und blauen Komponenten addiert werden. Alpha wird ignoriert und schwarze Pixel werden durchsichtig dargestellt.
Alpha blending
Wenn der aktuelle Anzeigemischmodus ALPHA_BLEND ist, werden virtuelle Inhalte der realen Welt hinzugefügt, indem die Pixelwerte basierend auf der Alphakomponente mit Alpha-Blending gemischt werden. Das ist bei XR-Headsets der Fall, die ein undurchsichtiges Display zum Rendern von Inhalten verwenden. Die Helligkeit jedes Pixels kann gesteuert werden und Pixel können so eingestellt werden, dass sie schwarz erscheinen. Je nach aktiver räumlicher Umgebung können diese Pixel die reale Welt über einen Kamerastream oder eine digitale Umgebung darstellen.
Kein Display
Wenn der aktuelle Anzeigemischmodus NO_DISPLAY ist, kann das Gerät keine Pixel anzeigen.
Aktuelle DisplayBlendMode abrufen
Verwenden Sie XrDevice.getPreferredDisplayBlendMode, um die aktive DisplayBlendMode zu prüfen:
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. } }