diff --git a/crates/bevy_openxr/src/openxr/init.rs b/crates/bevy_openxr/src/openxr/init.rs index ab91dbd..af7bc37 100644 --- a/crates/bevy_openxr/src/openxr/init.rs +++ b/crates/bevy_openxr/src/openxr/init.rs @@ -61,6 +61,24 @@ pub struct OxrInitPlugin { /// Passed into the render plugin when added to the app. pub synchronous_pipeline_compilation: bool, } +impl Default for OxrInitPlugin { + fn default() -> Self { + Self { + app_info: default(), + exts: { + let mut exts = OxrExtensions::default(); + exts.enable_fb_passthrough(); + exts.enable_hand_tracking(); + exts + }, + blend_modes: default(), + backends: default(), + formats: Some(vec![wgpu::TextureFormat::Rgba8UnormSrgb]), + resolutions: default(), + synchronous_pipeline_compilation: default(), + } + } +} #[derive(Component)] pub struct OxrTrackingRoot; @@ -172,7 +190,8 @@ impl Plugin for OxrInitPlugin { OxrPreUpdateSet::HandleEvents.after(handle_session), OxrPreUpdateSet::UpdateCriticalComponents, OxrPreUpdateSet::UpdateNonCriticalComponents, - ).chain(), + ) + .chain(), ); let session_started = OxrSessionStarted::default(); @@ -399,7 +418,6 @@ fn init_xr_session( } .ok_or(OxrError::NoAvailableBackend)?; - let graphics_info = OxrGraphicsInfo { blend_mode, resolution, diff --git a/crates/bevy_openxr/src/openxr/mod.rs b/crates/bevy_openxr/src/openxr/mod.rs index 9edaa7f..20dbaf4 100644 --- a/crates/bevy_openxr/src/openxr/mod.rs +++ b/crates/bevy_openxr/src/openxr/mod.rs @@ -36,20 +36,7 @@ pub fn add_xr_plugins(plugins: G) -> PluginGroupBuilder { .disable::() .disable::() .add_before::(XrSessionPlugin) - .add_before::(OxrInitPlugin { - app_info: default(), - exts: { - let mut exts = OxrExtensions::default(); - exts.enable_fb_passthrough(); - exts.enable_hand_tracking(); - exts - }, - blend_modes: default(), - backends: default(), - formats: Some(vec![wgpu::TextureFormat::Rgba8UnormSrgb]), - resolutions: default(), - synchronous_pipeline_compilation: default(), - }) + .add_before::(OxrInitPlugin::default()) .add(OxrReferenceSpacePlugin::default()) .add(OxrRenderPlugin) .add(OxrPassthroughPlugin) diff --git a/crates/bevy_openxr/src/openxr/reference_space.rs b/crates/bevy_openxr/src/openxr/reference_space.rs index f4cd3ec..730027f 100644 --- a/crates/bevy_openxr/src/openxr/reference_space.rs +++ b/crates/bevy_openxr/src/openxr/reference_space.rs @@ -9,7 +9,7 @@ use bevy_xr::session::{status_changed_to, XrStatus}; use crate::{init::OxrPreUpdateSet, resources::OxrSession}; pub struct OxrReferenceSpacePlugin { - default_primary_ref_space: openxr::ReferenceSpaceType, + pub default_primary_ref_space: openxr::ReferenceSpaceType, } impl Default for OxrReferenceSpacePlugin { fn default() -> Self {