/** * PixSpace is a Virtual Reality Toolkit to run projective VR setups * * © Copyright 2022 Hartmut Seichter * */ use crate::scene::*; use crate::utils::*; use crate::viewer::*; use crate::tracker::*; use crate::console::*; use bevy::{prelude::*, window::PresentMode, render::camera::CameraProjectionPlugin}; use offaxis::{offaxis_camera_setup, OffAxisProjection}; mod offaxis; mod scene; mod screeninfo; mod utils; mod viewer; mod projection; mod tracker; mod console; fn main() { App::new() .insert_resource(ClearColor(Color::rgb(0.5, 0.5, 0.5))) .add_plugins(DefaultPlugins.set(WindowPlugin { window: WindowDescriptor { title: "PixSpace".to_string(), width: 1280.0, height: 720.0, present_mode: PresentMode::AutoVsync, // mode: WindowMode::BorderlessFullscreen, ..default() }, ..default() })) // use hot reloading // .add_plugins(DefaultPlugins.set(AssetPlugin { // watch_for_changes: true, // ..Default::default() // })) // .add_plugin(scene::BuildScenePlugin) .add_system(bevy::window::close_on_esc) .add_system(cycle_msaa) .add_startup_system(build_scene) // .add_system(modify_projection) .add_startup_system(offaxis_camera_setup) // .add_startup_system(setup_tracker) // .add_system(update_tracker) .add_startup_system(setup_threaded_tracker) .add_plugin(CameraProjectionPlugin::::default()) // .add_system(simulate_viewer_with_circle) .add_system(simulate_viewer_with_keyboard) .add_system(apply_viewer_to_projections) .add_system(toggle_fullscreeen) .run(); }