PixSpace/README.md

37 lines
1.4 KiB
Markdown
Raw Normal View History

2022-07-17 23:18:33 +02:00
# PixSpace
A model viewer for projective Virtual Reality (VR).
2022-07-18 12:20:02 +02:00
PixSpace is a successor to the VisionSpace software, based on OpenSceneGraph,
maintained at the HITLabNZ and the VisionSpaceNG, based on Unity
at the Graphics and Interaction Lab.
2022-07-18 12:20:02 +02:00
PixSpace deals with:
2022-07-18 12:20:02 +02:00
- getting tracking data (position and orientation) from a VRPN server
- render composited stereo views allowing for non-linear distortions and overlapping screens
- loading 3D scene files (whatever bevy supports right now, ideally with asset reload on change)
- providing a simple way to extend the system with interactions
- allow for RPC access to control scenes and settings
2022-07-18 12:20:02 +02:00
2022-07-17 23:18:33 +02:00
# TODO
* [x] custom projection matrices
2022-11-17 23:18:30 +01:00
* [ ] build a system that updates a cameras frustum (w/ offaxis)
2022-07-17 23:18:33 +02:00
* [ ] multiple cameras
* [ ] render to texture
2022-07-18 12:20:02 +02:00
* [ ] VRPN (https://github.com/seichter/vrpn-rs) - sync_client.rs seems to do what we need - issue it is Rust 2018
# Contributions
Though, I am mostly writing this software on my own, I often ask for help and fortunately FOSS
people will be happy to help
@bevy@mastodon.social suggested the following three examples
https://github.com/bevyengine/bevy/blob/main/examples/3d/two_passes.rs
https://github.com/bevyengine/bevy/blob/main/examples/3d/split_screen.rs
https://github.com/bevyengine/bevy/blob/main/examples/3d/render_to_texture.rs
And ria8651 on bevy #rendering Discord channel explained pointed me towards reversed Z frustum