From 22f94671e2b3f6c3756a98171042e5a834adbb0e Mon Sep 17 00:00:00 2001 From: galister <22305755+galister@users.noreply.github.com> Date: Thu, 1 Feb 2024 19:21:09 +0100 Subject: [PATCH] openxr environment blend mode to alpha --- src/backend/openxr/mod.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/backend/openxr/mod.rs b/src/backend/openxr/mod.rs index edb4537..0bbcd6f 100644 --- a/src/backend/openxr/mod.rs +++ b/src/backend/openxr/mod.rs @@ -10,6 +10,7 @@ use anyhow::{bail, ensure}; use glam::{Affine3A, Quat, Vec3}; use openxr as xr; use vulkano::{command_buffer::CommandBufferUsage, Handle, VulkanObject}; +use xr::EnvironmentBlendMode; use crate::{ backend::{ @@ -48,9 +49,17 @@ pub fn openxr_run(running: Arc) -> Result<(), BackendError> { } }; - let environment_blend_mode = xr_instance - .enumerate_environment_blend_modes(system, VIEW_TYPE) - .unwrap()[0]; + let environment_blend_mode = { + let available = xr_instance + .enumerate_environment_blend_modes(system, VIEW_TYPE) + .unwrap(); + + if available.contains(&EnvironmentBlendMode::ALPHA_BLEND) { + EnvironmentBlendMode::ALPHA_BLEND + } else { + available[0] + } + }; log::info!("Using environment blend mode: {:?}", environment_blend_mode); let mut app_state = {