fixed shakiness B)
This commit is contained in:
@@ -9,7 +9,7 @@ edition = "2021"
|
|||||||
anyhow = "1.0.75"
|
anyhow = "1.0.75"
|
||||||
ash = "0.37.3"
|
ash = "0.37.3"
|
||||||
bevy = { git = "https://github.com/awtterpip/bevy", default-features = false, features = ["bevy_render"] }
|
bevy = { git = "https://github.com/awtterpip/bevy", default-features = false, features = ["bevy_render"] }
|
||||||
openxr = { version = "0.17.1", features = ["mint"] }
|
openxr = { version = "0.17.1", features = ["mint", "static", "linked"] }
|
||||||
mint = "0.5.9"
|
mint = "0.5.9"
|
||||||
wgpu = "0.16.0"
|
wgpu = "0.16.0"
|
||||||
wgpu-core = { version = "0.16.0", features = ["vulkan"] }
|
wgpu-core = { version = "0.16.0", features = ["vulkan"] }
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ pub fn initialize_xr_graphics(
|
|||||||
)> {
|
)> {
|
||||||
use wgpu_hal::{api::Vulkan as V, Api};
|
use wgpu_hal::{api::Vulkan as V, Api};
|
||||||
|
|
||||||
let xr_entry = unsafe { xr::Entry::load() }?;
|
let xr_entry = xr::Entry::linked();
|
||||||
|
|
||||||
let available_extensions = xr_entry.enumerate_extensions()?;
|
let available_extensions = xr_entry.enumerate_extensions()?;
|
||||||
assert!(available_extensions.khr_vulkan_enable2);
|
assert!(available_extensions.khr_vulkan_enable2);
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ use bevy::app::PluginGroupBuilder;
|
|||||||
use bevy::ecs::system::SystemState;
|
use bevy::ecs::system::SystemState;
|
||||||
use bevy::prelude::*;
|
use bevy::prelude::*;
|
||||||
use bevy::render::camera::{ManualTextureView, ManualTextureViewHandle, ManualTextureViews};
|
use bevy::render::camera::{ManualTextureView, ManualTextureViewHandle, ManualTextureViews};
|
||||||
use bevy::render::pipelined_rendering::RenderExtractApp;
|
use bevy::render::pipelined_rendering::{RenderExtractApp, PipelinedRenderingPlugin};
|
||||||
use bevy::render::renderer::{
|
use bevy::render::renderer::{
|
||||||
render_system, RenderAdapter, RenderAdapterInfo, RenderDevice, RenderQueue,
|
render_system, RenderAdapter, RenderAdapterInfo, RenderDevice, RenderQueue,
|
||||||
};
|
};
|
||||||
@@ -105,7 +105,7 @@ impl Plugin for OpenXrPlugin {
|
|||||||
render_adapter,
|
render_adapter,
|
||||||
Mutex::new(instance),
|
Mutex::new(instance),
|
||||||
),
|
),
|
||||||
}));
|
}).disable::<PipelinedRenderingPlugin>());
|
||||||
}
|
}
|
||||||
|
|
||||||
fn ready(&self, app: &App) -> bool {
|
fn ready(&self, app: &App) -> bool {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ pub mod oculus_touch;
|
|||||||
pub mod xr_camera;
|
pub mod xr_camera;
|
||||||
|
|
||||||
use crate::resources::XrSession;
|
use crate::resources::XrSession;
|
||||||
|
use crate::xr_begin_frame;
|
||||||
use crate::xr_input::controllers::XrControllerType;
|
use crate::xr_input::controllers::XrControllerType;
|
||||||
use crate::xr_input::oculus_touch::{setup_oculus_controller, ActionSets};
|
use crate::xr_input::oculus_touch::{setup_oculus_controller, ActionSets};
|
||||||
use crate::xr_input::xr_camera::{
|
use crate::xr_input::xr_camera::{
|
||||||
@@ -38,7 +39,7 @@ impl Plugin for OpenXrInput {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
app.add_systems(PreUpdate, action_set_system);
|
app.add_systems(PreUpdate, action_set_system);
|
||||||
app.add_systems(PreUpdate, xr_camera_head_sync);
|
app.add_systems(PreUpdate, xr_camera_head_sync.after(xr_begin_frame));
|
||||||
app.add_systems(
|
app.add_systems(
|
||||||
PostUpdate,
|
PostUpdate,
|
||||||
update_frusta::<XRProjection>
|
update_frusta::<XRProjection>
|
||||||
|
|||||||
Reference in New Issue
Block a user