不同类型的设备具有不同类型的显示特性。您的应用可以检查其运行所在设备的显示特性,以调整内容,确保内容以最佳方式显示。
显示混合模式的类型
DisplayBlendMode 值描述了图像如何叠加在现实世界之上。显示技术从根本上改变了
数字内容与物理世界的融合方式
加色混合
当当前显示混合模式为 ADDITIVE 时,黑色像素会显示为透明。这通常用于具有透明镜片的设备,这些镜片可直接让用户看到周围的环境。设备只能为表面添加更多光线。
具体而言,这意味着通过添加红、绿、蓝三个分量的像素值,将虚拟内容添加到现实世界中。Alpha 通道会被忽略,黑色像素会显示为透明。
Alpha 混合
当当前显示混合模式为 ALPHA_BLEND 时,系统会根据 Alpha 分量对像素值进行 Alpha 混合,从而将虚拟内容添加到现实世界中。XR 头戴设备就是这种情况,它使用不透明显示屏来呈现内容。每个像素的亮度都可以控制,并且像素可以设置为显示为黑色。根据当前空间环境,这些像素可能通过摄像头视频流代表现实世界,也可能代表数字环境。
无显示屏
当当前显示混合模式为 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. } }