From 40c767c2d242972227e5af178c07e0f162e825e4 Mon Sep 17 00:00:00 2001 From: Schmarni Date: Thu, 30 May 2024 11:14:03 +0200 Subject: [PATCH] remove point light from sessions example and other small changes Signed-off-by: Schmarni --- crates/bevy_openxr/examples/sessions.rs | 10 +--------- crates/bevy_openxr/src/openxr/action_set_syncing.rs | 2 +- crates/bevy_openxr/src/openxr/init.rs | 7 +++++-- crates/bevy_openxr/src/openxr/session.rs | 7 +------ 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/crates/bevy_openxr/examples/sessions.rs b/crates/bevy_openxr/examples/sessions.rs index e3ca3e5..b85a2d9 100644 --- a/crates/bevy_openxr/examples/sessions.rs +++ b/crates/bevy_openxr/examples/sessions.rs @@ -10,6 +10,7 @@ fn main() { .add_plugins(bevy_xr_utils::hand_gizmos::HandGizmosPlugin) .add_systems(Startup, setup) .add_systems(Update, handle_input) + .insert_resource(AmbientLight::default()) .run(); } @@ -62,15 +63,6 @@ fn setup( transform: Transform::from_xyz(0.0, 0.5, 0.0), ..default() }); - // light - commands.spawn(PointLightBundle { - point_light: PointLight { - shadows_enabled: true, - ..default() - }, - transform: Transform::from_xyz(4.0, 8.0, 4.0), - ..default() - }); commands.spawn(Camera3dBundle { transform: Transform::from_xyz(-2.5, 4.5, 9.0).looking_at(Vec3::ZERO, Vec3::Y), ..default() diff --git a/crates/bevy_openxr/src/openxr/action_set_syncing.rs b/crates/bevy_openxr/src/openxr/action_set_syncing.rs index 9ff3ddb..6b04224 100644 --- a/crates/bevy_openxr/src/openxr/action_set_syncing.rs +++ b/crates/bevy_openxr/src/openxr/action_set_syncing.rs @@ -1,4 +1,4 @@ -use crate::{init::OxrPreUpdateSet, resources::OxrSession}; +use crate::{init::OxrPreUpdateSet, session::OxrSession}; use bevy::prelude::*; use bevy_xr::session::session_running; diff --git a/crates/bevy_openxr/src/openxr/init.rs b/crates/bevy_openxr/src/openxr/init.rs index 0306feb..c9200ed 100644 --- a/crates/bevy_openxr/src/openxr/init.rs +++ b/crates/bevy_openxr/src/openxr/init.rs @@ -494,8 +494,6 @@ pub fn end_xr_session(session: Res, session_started: Res() { + // This is needed because there is one space that survives the session exit schedule and + // holds on to the session. this causes an error message but does not seem to cause any + // actuall issues. unsafe { (sess.instance().fp().destroy_session)(sess.as_raw()); } + // leaking the session so that it does not call destroy_session at a later point. might not + // actually be needed. Box::leak(Box::new(sess)); } } diff --git a/crates/bevy_openxr/src/openxr/session.rs b/crates/bevy_openxr/src/openxr/session.rs index 9a65ae8..f770b91 100644 --- a/crates/bevy_openxr/src/openxr/session.rs +++ b/crates/bevy_openxr/src/openxr/session.rs @@ -33,7 +33,6 @@ impl Plugin for OxrSessionPlugin { app.add_systems(XrSessionExiting, clean_session); app.sub_app_mut(RenderApp) .add_systems(XrRenderSessionEnding, |mut cmds: Commands| { - // cmds.remove_resource::(); cmds.remove_resource::(); }); app.add_systems( @@ -70,11 +69,7 @@ fn run_session_status_schedules(world: &mut World) { OxrSessionStatusEvent::AboutToBeDestroyed => { world.run_schedule(XrSessionExiting); world.run_system_once(apply_deferred); - if let Some(sess) = world.remove_resource::() { - // unsafe { - // (sess.instance().fp().destroy_session)(sess.as_raw()); - // } - } + world.remove_resource::(); } } }