How pkellyuk/vrx works
VRX is a Windows desktop application for viewing captured games or other windows as stereo screens in VR. The main path is choosing or automatically attaching to a window, configuring a profile, starting the renderer, and viewing its output through OpenXR. The README also documents controller-operated settings, browser, keyboard and snapshot panels. The renderer’s capture, depth, and presentation details are described at a product level; the sampled source is primarily the desktop application, so those internal engine stages are grouped at the available renderer path.
Main entry points: MainWindow.xaml.cs Desktop app · EngineSession.cs Engine session · ControllerMenu.cs Controller menu · ChooserWindow.xaml.cs Window chooser
Components 19
Desktop control
- Desktop app
desktop/VRX.Desktop/MainWindow.xaml.cs - Window chooser
desktop/VRX.Desktop/ChooserWindow.xaml.cs - Auto attach
desktop/VRX.Desktop/AutoAttach.cs - Running apps
desktop/VRX.Desktop/RunningApps.cs - Screen sources
desktop/VRX.Desktop/ScreenSources.cs - Window placement
desktop/VRX.Desktop/WindowPlacement.cs
Session setup
- Profiles
desktop/VRX.Desktop/Profile.cs - Engine session
desktop/VRX.Desktop/EngineSession.cs - GPU selection
desktop/VRX.Desktop/Gpus.cs
VR rendering
- XR renderer
bench/native/openxr/xrapp5.cpp
Floating panels
- Controller menu
desktop/VRX.Desktop/ControllerMenu.cs - Panel interface
desktop/VRX.Desktop/IFloatingPanel.cs - Browser panel
desktop/VRX.Desktop/FloatingBrowser.cs - Keyboard panel
desktop/VRX.Desktop/FloatingKeyboard.cs - Swipe predictor
desktop/VRX.Desktop/SwipePredictor.cs - Snapshot panel
desktop/VRX.Desktop/FloatingSnapshot.cs
Other components
- Player
- Game or window
- OpenXR runtime
Connections 24
- Player → Desktop app: configures
README.md - Desktop app → Window chooser: chooses window
README.md - Desktop app → Auto attach: monitors foreground
desktop/VRX.Desktop/MainWindow.xaml.cs - Desktop app → Running apps: lists apps
desktop/VRX.Desktop/MainWindow.xaml.cs - Window chooser → Running apps: lists apps
desktop/VRX.Desktop/ChooserWindow.xaml.cs - Window chooser → Screen sources: lists displays
desktop/VRX.Desktop/ChooserWindow.xaml.cs - Window chooser → Window placement: positions window
desktop/VRX.Desktop/ChooserWindow.xaml.cs - Desktop app → Screen sources: selects display
desktop/VRX.Desktop/MainWindow.xaml.cs - Desktop app → Profiles: edits settings
desktop/VRX.Desktop/MainWindow.xaml.cs - Desktop app → Engine session: starts session
desktop/VRX.Desktop/MainWindow.xaml.cs - Engine session → Profiles: reads settings
desktop/VRX.Desktop/EngineSession.cs - Engine session → Running apps: validates process
desktop/VRX.Desktop/EngineSession.cs - Engine session → Screen sources: validates display
desktop/VRX.Desktop/EngineSession.cs - GPU selection → Engine session: queries engine
desktop/VRX.Desktop/Gpus.cs - Engine session → XR renderer: launches renderer
desktop/VRX.Desktop/EngineSession.cs - Game or window → XR renderer: captures window
README.md - XR renderer → OpenXR runtime: presents stereo view
README.md - Player → Controller menu: uses controllers
README.md - Controller menu → Panel interface: manages panels
desktop/VRX.Desktop/ControllerMenu.cs - Controller menu → Browser panel: opens browser
desktop/VRX.Desktop/ControllerMenu.cs - Controller menu → Keyboard panel: opens keyboard
desktop/VRX.Desktop/ControllerMenu.cs - Controller menu → Snapshot panel: captures snapshot
desktop/VRX.Desktop/ControllerMenu.cs - Keyboard panel → Swipe predictor: predicts words
desktop/VRX.Desktop/FloatingKeyboard.cs - Keyboard panel → Browser panel: edits browser text
desktop/VRX.Desktop/ControllerMenu.cs