36 lines
1.4 KiB
Markdown
36 lines
1.4 KiB
Markdown
# PixSpace
|
|
|
|
A model viewer for projective Virtual Reality (VR).
|
|
|
|
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.
|
|
|
|
PixSpace deals with:
|
|
|
|
- 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
|
|
|
|
# TODO
|
|
|
|
* [x] custom projection matrices
|
|
* [ ] build a system that updates a cameras frustum (w/ offaxis)
|
|
* [ ] multiple cameras
|
|
* [ ] render to texture
|
|
* [ ] 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
|