59 lines
1.6 KiB
Rust
59 lines
1.6 KiB
Rust
/**
|
|
* 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 bevy::{prelude::*, window::PresentMode, render::camera::CameraProjectionPlugin};
|
|
use offaxis::{offaxis_camera_setup, OffAxisProjection};
|
|
use tracker::setup_tracker;
|
|
|
|
mod offaxis;
|
|
mod scene;
|
|
mod screeninfo;
|
|
mod utils;
|
|
mod viewer;
|
|
mod projection;
|
|
mod tracker;
|
|
|
|
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,
|
|
..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_plugin(CameraProjectionPlugin::<OffAxisProjection>::default())
|
|
.add_system(simulate_viewer)
|
|
.add_system(apply_viewer_to_projections)
|
|
.run();
|
|
}
|
|
|
|
|