► auxiliary | Shared code and helpers for Monado |
► android | |
► src | |
► main | |
► java | |
► org | |
► freedesktop | |
► monado | |
► auxiliary | |
MonadoView.java | Class to inject a custom surface into an activity |
NativeCounterpart.java | Utility class to deal with having a native-code counterpart object |
android_ahardwarebuffer_allocator.c | AHardwareBuffer backed image buffer allocator |
android_ahardwarebuffer_allocator.h | Header exposing factory function for AHardwareBuffer backed image buffer allocator |
android_custom_surface.cpp | Implementation of native code for Android custom surface |
android_custom_surface.h | Functions for adding a new Surface to a window and otherwise interacting with an Android View |
android_globals.cpp | Functions for Android-specific global state |
android_globals.h | Functions for Android-specific global state |
android_instance_base.c | Basic xrt_instance_base implementation |
android_instance_base.h | Base implementation of the xrt_instance_android interface |
android_lifecycle_callbacks.cpp | Implementation of a callback collection for Android lifecycle events |
android_lifecycle_callbacks.h | An implementation of a callback collection for the Android lifecycle |
android_load_class.cpp | Implementations for loading Java code from a package |
android_load_class.hpp | Function for loading Java code from a package |
android_looper.cpp | Implementation of android looper functions |
android_looper.h | Utility functions for android looper |
org.freedesktop.monado.auxiliary.cpp | Out-of-line implementations for partially-generated wrapper for the org.freedesktop.monado.auxiliary Java package |
org.freedesktop.monado.auxiliary.hpp | Partially-generated wrapper for the org.freedesktop.monado.auxiliary Java package |
org.freedesktop.monado.auxiliary.impl.hpp | Inline implementations for partially-generated wrapper for the org.freedesktop.monado.auxiliary Java package - do not include on its own! |
► d3d | |
d3d_d3d11_allocator.cpp | D3D11 backed image buffer allocator |
d3d_d3d11_allocator.h | Header for D3D11-backed image buffer allocator factory function |
d3d_d3d11_allocator.hpp | Higher-level D3D11-backed image buffer allocation routine |
d3d_d3d11_bits.h | Usage bits for D3D11 |
d3d_d3d11_fence.cpp | D3D11-backed fence (timeline semaphore) creation routine |
d3d_d3d11_fence.hpp | D3D11-backed fence (timeline semaphore) creation routine |
d3d_d3d11_helpers.cpp | Misc D3D11 helper routines |
d3d_d3d11_helpers.hpp | Misc D3D11/12 helper routines |
d3d_d3d12_allocator.cpp | D3D12 backed image buffer allocator |
d3d_d3d12_allocator.h | Header for D3D12-backed image buffer allocator factory function |
d3d_d3d12_allocator.hpp | Higher-level D3D12-backed image buffer allocation routine |
d3d_d3d12_bits.h | Usage bits for D3D12 |
d3d_d3d12_fence.cpp | D3D12-backed fence (timeline semaphore) creation routine |
d3d_d3d12_fence.hpp | D3D12-backed fence (timeline semaphore) creation routine |
d3d_d3d12_helpers.cpp | Misc D3D12 helper routines |
d3d_d3d12_helpers.hpp | Misc D3D12 helper routines |
d3d_dxgi_formats.h | Format conversion for DXGI/D3D |
d3d_dxgi_helpers.cpp | Misc D3D11 helper routines |
d3d_dxgi_helpers.hpp | Misc D3D11/12 helper routines |
► gstreamer | |
gst_internal.h | Semi internal structs for gstreamer code |
gst_pipeline.c | An xrt_frame_sink that does gst things |
gst_pipeline.h | Functions for creating gstreamer_pipeline objects |
gst_sink.c | An xrt_frame_sink that does gst things |
gst_sink.h | xrt_frame_sink that does gst things |
► math | C interface to some transform-related math functions |
m_api.h | C interface to math library |
m_base.cpp | Base implementations for math library |
m_clock_tracking.c | Helpers to estimate offsets between clocks |
m_clock_tracking.h | Helpers to estimate offsets between clocks |
m_documentation.hpp | Header with only documentation |
m_eigen_interop.hpp | Interoperability helpers connecting internal math types and Eigen |
m_filter_fifo.c | A fifo that also lets you dynamically filter |
m_filter_fifo.h | A fifo that also lets you dynamically filter |
m_filter_one_euro.c | The "One Euro Filter" for filtering interaction data |
m_filter_one_euro.h | Header for a "One Euro Filter" implementation |
m_hash.cpp | Hashing function |
m_imu_3dof.c | A IMU fusion specially made for 3dof devices |
m_imu_3dof.h | A IMU fusion specially made for 3dof devices |
m_imu_pre.c | IMU pre filter struct |
m_imu_pre.h | IMU pre filter struct |
m_lowpass_float.cpp | Wrap float filters for C |
m_lowpass_float.h | Low-pass IIR filter for floats - C wrapper |
m_lowpass_float.hpp | Low-pass IIR filter |
m_lowpass_float_vector.hpp | Low-pass IIR filter on vectors |
m_lowpass_integer.cpp | Wrap integer filters for C |
m_lowpass_integer.h | Low-pass IIR filter for integers - C wrapper |
m_lowpass_integer.hpp | Low-pass IIR filter for integers |
m_mathinclude.h | Wrapper header for <math.h> to ensure pi-related math constants are defined |
m_matrix_2x2.h | C matrix_2x2 math library |
m_matrix_4x4_f64.h | C matrix 4x4 f64 math library |
m_matrix_projection.cpp | Matrix function for creating projection matrices |
m_optics.c | Functions related to field-of-view |
m_permutation.c | Code to generate permutation of indices |
m_permutation.h | Code to generate permutation of indices |
m_predict.c | Simple function to predict a new pose from a given pose |
m_predict.h | Simple function to predict a new pose from a given pose |
m_quatexpmap.cpp | Base implementations for math library |
m_rational.hpp | A very simple rational number type |
m_relation_history.cpp | Small utility for keeping track of the history of an xrt_space_relation, ie |
m_relation_history.h | Small utility for keeping track of the history of an xrt_space_relation, ie |
m_space.cpp | Functions for manipulating a xrt_relation_chain struct |
m_space.h | Functions for manipulating xrt_pose, xrt_space_relation and xrt_relation_chain structs |
m_vec2.h | C vec2 math library |
m_vec3.h | C vec3 math library |
► ogl | OpenGL bindings helper library |
egl_api.c | EGL API wrapper |
egl_api.h | EGL API wrapper header |
glx_api.c | GLX API wrapper |
glx_api.h | GLX API wrapper header |
ogl_api.c | OpenGL API wrapper |
ogl_api.h | OpenGL API wrapper header |
ogl_documentation.h | Header with only documentation |
ogl_helpers.c | Common OpenGL code |
ogl_helpers.h | Common OpenGL code header |
wgl_api.c | WGL API wrapper |
wgl_api.h | WGL API wrapper header |
► os | Wrapper around OS functions and structs |
os_ble.h | Wrapper around OS native BLE functions |
os_ble_dbus.c | BLE implementation based on Linux Bluez/dbus |
os_ble_stubs.c | Stub BLE functions |
os_documentation.h | Documentation |
os_hid.h | Wrapper around OS native hid functions |
os_hid_hidraw.c | Hid implementation based on hidraw |
os_threading.h | Wrapper around OS threading native functions |
os_time.cpp | Wrapper around OS native time functions |
os_time.h | Wrapper around OS native time functions |
► tracking | Trackers, filters and associated helper code |
t_calibration.cpp | Calibration code |
t_calibration_opencv.hpp | OpenCV calibration helpers |
t_camera_models.h | Simple, untemplated, C, float-only, camera (un)projection functions for various camera models |
t_convert.cpp | Code to build conversion tables and convert images |
t_data_utils.c | Small data helpers for calibration |
t_debug_hsv_filter.cpp | HSV filter debug code |
t_debug_hsv_picker.cpp | HSV Picker Debugging code |
t_debug_hsv_viewer.cpp | HSV debug viewer code |
t_documentation.h | Documentation-only header |
t_euroc_recorder.cpp | EuRoC dataset recorder utility |
t_euroc_recorder.h | EuRoC dataset recorder utility |
t_file.cpp | Handling of files and calibration data |
t_frame_cv_mat_wrapper.cpp | Simple xrt_frame wrapper around a cv::Mat |
t_frame_cv_mat_wrapper.hpp | Simple xrt_frame wrapper around a cv::Mat |
t_fusion.hpp | C++ sensor fusion/filtering code that uses flexkalman |
t_helper_debug_sink.hpp | Small helper struct that for debugging views |
t_hsv_filter.c | A simple HSV filter |
t_imu.cpp | IMU fusion implementation - for inclusion into the single kalman-incuding translation unit |
t_imu.h | C interface to basic IMU fusion |
t_imu_fusion.hpp | C++ sensor fusion/filtering code that uses flexkalman |
t_kalman.cpp | Single compiled file for all kalman filter using source |
t_openvr_tracker.cpp | OpenVR tracking source |
t_openvr_tracker.h | OpenVR tracking source |
t_tracker_psmv.cpp | PS Move tracker code |
t_tracker_psmv_fusion.cpp | PS Move tracker code that is expensive to compile |
t_tracker_psmv_fusion.hpp | PS Move tracker code |
t_tracker_psvr.cpp | PSVR tracker code |
t_tracker_slam.cpp | SLAM tracking code |
t_tracking.h | Tracking API interface |
t_vit_loader.c | Visual-Inertial Tracking consumer helper |
t_vit_loader.h | Visual-Inertial Tracking consumer helper |
► util | Smaller pieces of auxiliary utilities code |
u_autoexpgain.c | Automatically compute exposure and gain values from an image stream |
u_autoexpgain.h | Automatically compute exposure and gain values from an image stream |
u_bitwise.c | Functions for manipulating tightly packed data as bits |
u_bitwise.h | Functions for manipulating tightly packed data as bits |
u_box_iou.hpp | Code to deal with bounding boxes for camera-based hand-tracking |
u_builders.c | Helpers for xrt_builder implementations |
u_builders.h | Helpers for xrt_builder implementations |
u_config_json.c | Code to manage the settings file |
u_config_json.h | Code to manage the settings file |
u_debug.c | Small debug helpers |
u_debug.h | Small debug helpers |
u_debug_gui.c | SDL2 Debug UI implementation |
u_debug_gui.h | SDL2 Debug UI implementation |
u_deque.cpp | Expose std::deque to C |
u_deque.h | Expose std::deque to C |
u_device.c | Misc helpers for device drivers |
u_device.h | Misc helpers for device drivers |
u_distortion.c | Code to handle distortion parameters and fov |
u_distortion.h | Code to handle distortion parameters and fov |
u_distortion_mesh.c | Code to generate disortion meshes |
u_distortion_mesh.h | Code to generate disortion meshes |
u_documentation.h | Header with only documentation |
u_file.c | Very simple file opening functions |
u_file.cpp | Very simple file opening functions, mostly using std::filesystem for portability |
u_file.h | Very simple file opening functions |
u_format.c | Format helpers and block code |
u_format.h | Format helpers and block code |
u_frame.c | xrt_frame helpers |
u_frame.h | xrt_frame helpers |
u_frame_times_widget.h | Shared code for visualizing frametimes |
u_generic_callbacks.hpp | Implementation of a generic callback collection, intended to be wrapped for a specific event type |
u_git_tag.h | Holds the git hash of Monado |
u_hand_simulation.c | Wrapper around Mercury's parametric hand code, used by Index and OpenGloves to simulate hand tracking |
u_hand_simulation.h | Wrapper around Mercury's parametric hand code, used by Index and OpenGloves to simulate hand tracking |
u_hand_tracking.c | Hand Tracking API interface |
u_hand_tracking.h | Hand Tracking API interface |
u_handles.c | Implementations of handle functions |
u_handles.h | Functions for dealing generically with various handle types defined in xrt_handles.h |
u_hashmap.cpp | Hashmap for integer values header |
u_hashmap.h | Hashmap for integer values header |
u_hashset.cpp | Hashset struct header |
u_hashset.h | Hashset struct header |
u_id_ringbuffer.cpp | Wrap some ring buffer internals for somewhat generic C usage |
u_id_ringbuffer.h | Ring buffer for things keyed on an ID but otherwise maintained externally, for C usage |
u_imu_sink_force_monotonic.c | A xrt_imu_sink that forces the samples to be monotonically increasing |
u_imu_sink_split.c | An xrt_imu_sink splitter |
u_index_fifo.h | A FIFO for indices |
u_iterator_base.hpp | A template class to serve as the base of iterator and const_iterator types for things with "random access" |
u_json.c | Tiny JSON wrapper around cJSON |
u_json.h | Tiny JSON wrapper around cJSON header |
u_json.hpp | C++ wrapper for cJSON |
u_limited_unique_id.cpp | A very simple generator to create process unique ids |
u_limited_unique_id.h | A very simple generator to create process unique ids |
u_linux.c | Various helpers for doing Linux specific things |
u_linux.h | Various helpers for doing Linux specific things |
u_live_stats.cpp | Live stats tracking and printing |
u_live_stats.h | Live stats tracking and printing |
u_logging.c | Logging functions |
u_logging.h | Basic logging functionality |
u_metrics.c | Metrics saving functions |
u_metrics.h | Metrics saving functions |
u_misc.c | Very small misc utils |
u_misc.h | Very small misc utils |
u_native_images_debug.h | Special code for managing a variable tracked swapchain |
u_pacing.h | Shared pacing code |
u_pacing_app.c | Shared frame timing code |
u_pacing_compositor.c | Shared frame timing code |
u_pacing_compositor_fake.c | For generating a fake timing |
u_pretty_print.c | Pretty printing various Monado things |
u_pretty_print.h | Pretty printing various Monado things |
u_prober.c | Helpers for prober related code |
u_prober.h | Helpers for prober related code |
u_process.c | Simple process handling |
u_process.h | Simple process handling |
u_session.c | Helper to implement xrt_session |
u_session.h | Helper to implement xrt_session |
u_sink.h | xrt_frame_sink converters and other helpers |
u_sink_combiner.c | An xrt_frame_sink that combines two frames into a stereo frame |
u_sink_converter.c | xrt_frame_sink converters and other helpers |
u_sink_deinterleaver.c | An xrt_frame_sink that deinterleaves stereo frames |
u_sink_force_genlock.c | An xrt_frame_sink that takes two frames, enforces gen-lock and pushes downstream in left-right order |
u_sink_queue.c | An xrt_frame_sink queue |
u_sink_quirk.c | An xrt_frame_sink that quirks frames |
u_sink_simple_queue.c | An xrt_frame_sink queue |
u_sink_split.c | An xrt_frame_sink splitter |
u_sink_stereo_sbs_to_slam_sbs.c | An xrt_frame_sink splitter |
u_space_overseer.c | A implementation of the xrt_space_overseer interface |
u_space_overseer.h | A implementation of the xrt_space_overseer interface |
u_string_list.cpp | A collection of strings, like a list of extensions to enable |
u_string_list.h | A collection of strings, like a list of extensions to enable |
u_string_list.hpp | A collection of strings, like a list of extensions to enable |
u_system.c | Helper to implement xrt_system |
u_system.h | Helper to implement xrt_system |
u_system_helpers.c | Helpers for system objects like xrt_system_devices |
u_system_helpers.h | Helpers for system objects like xrt_system_devices |
u_template_historybuf.hpp | Ringbuffer implementation for keeping track of the past state of things |
u_template_historybuf_const_iterator.inl | Const_iterator details for ring buffer |
u_template_historybuf_impl_helpers.hpp | All the "element-type-independent" code (helper objects, base classes) for a ringbuffer implementation on top of a fixed size array |
u_template_historybuf_iterator.inl | Iterator details for ring buffer |
u_threading.h | Slightly higher level thread safe helpers |
u_time.cpp | Implementation of a steady, convertible clock |
u_time.h | Time-keeping: a clock that is steady, convertible to system time, and ideally high-resolution |
u_trace_marker.c | Tracing support code, see Tracing support |
u_trace_marker.h | Tracing support code, see Tracing support |
u_tracked_imu_3dof.c | Wrapper for m_imu_3dof that can be placed inside (and freed along with!) an xrt_imu_sink pipeline |
u_tracked_imu_3dof.h | Wrapper for m_imu_3dof that can be placed inside (and freed along with!) an xrt_imu_sink pipeline |
u_truncate_printf.h | Truncating versions of string printing functions |
u_var.cpp | Variable tracking code |
u_var.h | Variable tracking code |
u_vector.cpp | Expose std::vector to C |
u_vector.h | Expose std::vector to C |
u_verify.h | Tiny file to verify things |
u_visibility_mask.c | Visibility mask utilitary |
u_visibility_mask.h | Visibility mask utilitary header |
u_wait.h | Tiny file to implement precise waiting functions |
u_win32_com_guard.cpp | An object that serves to keep the reference count of COM initialization greater than 0 |
u_win32_com_guard.hpp | An object that serves to keep the reference count of COM initialization greater than 0 |
u_windows.c | Various helpers for doing Windows specific things |
u_windows.h | Various helpers for doing Windows specific things |
u_worker.c | Simple worker pool |
u_worker.cpp | C++ wrappers for workers |
u_worker.h | Worker and threading pool |
u_worker.hpp | C++ wrappers for workers |
► vive | Shared code for HTC Vive and Valve Index driver and Lighthouse tracking using libsurvive. files |
vive_bindings.c | Shared bindings structs for HTC Vive and Valve Index driver & Lighthouse tracking using libsurvive |
vive_bindings.h | Shared bindings structs for HTC Vive and Valve Index driver & Lighthouse tracking using libsurvive |
vive_builder.c | Builder helpers for Vive/Index devices |
vive_builder.h | Builder helpers for Vive/Index devices |
vive_calibration.c | Vive calibration getters |
vive_calibration.h | Vive calibration getters |
vive_common.h | Common things like defines for Vive and Index |
vive_config.c | Vive json implementation |
vive_config.h | Vive json header |
vive_poses.c | Vive poses implementation |
vive_poses.h | Vive poses header |
vive_tweaks.c | Tweaks for various bits on Vive and Index headsets |
vive_tweaks.h | Tweaks for various bits on Vive and Index headsets |
► vk | Vulkan helper structs and functions |
vk_bundle_init.c | Functions to init various parts of the vk_bundle |
vk_cmd.c | Command pool helpers |
vk_cmd.h | Command buffer helpers |
vk_cmd_pool.c | Command pool helpers |
vk_cmd_pool.h | Command pool helpers |
vk_compositor_flags.c | Flags helpers for compositor swapchain images |
vk_debug.c | Debug helper code |
vk_documentation.h | Header with just documentation |
vk_enumerate.c | Vulkan enumeration helpers code |
vk_function_loaders.c | Functions to fill in the functions |
vk_helpers.c | Common Vulkan code |
vk_helpers.h | Common Vulkan code header |
vk_image_allocator.c | Vulkan image allocator helper |
vk_image_allocator.h | Vulkan image allocator helper |
vk_image_readback_to_xf_pool.c | Pool to read back VkImages from the gpu |
vk_image_readback_to_xf_pool.h | Pool to read back VkImages from the gpu |
vk_mini_helpers.h | Super small defines that makes writing Vulkan code smaller |
vk_print.c | Printing helper code |
vk_state_creators.c | Vulkan state creators helpers |
vk_surface_info.c | Helper for getting information from a VkSurfaceKHR |
vk_surface_info.h | Helper for getting information from a VkSurfaceKHR |
vk_sync_objects.c | Vulkan sync primitives code |
vk_time.c | Vulkan timestamp helpers |
► compositor | All of the compositor code |
► client | Compositor client code |
comp_d3d11_client.cpp | D3D11 client side glue to compositor implementation |
comp_d3d11_client.h | Interface for D3D11 client-side code |
comp_d3d11_glue.c | Glue code to D3D11 client side code: expressing requirements and connecting comp_ APIs to xrt_gfx_ interfaces |
comp_d3d12_client.cpp | D3D12 client side glue to compositor implementation |
comp_d3d12_client.h | Interface for D3D12 client-side code |
comp_d3d12_glue.c | Glue code to D3D12 client side code: expressing requirements and connecting comp_ APIs to xrt_gfx_ interfaces |
comp_d3d_common.cpp | D3D12 client side glue to compositor implementation |
comp_d3d_common.hpp | Functionality common to D3D11 and D3D12 for client side compositor implementation |
comp_egl_client.c | Glue code to EGL client side glue code |
comp_egl_client.h | Glue code to EGL client side glue code |
comp_gl_client.c | OpenGL client side glue to compositor implementation |
comp_gl_client.h | OpenGL client side glue to compositor header |
comp_gl_eglimage_swapchain.c | OpenGL client side glue to swapchain implementation - EGLImageKHR-backed |
comp_gl_eglimage_swapchain.h | OpenGL client side glue using EGLImageKHR - header |
comp_gl_glue.c | Glue code to OpenGL client side code |
comp_gl_memobj_swapchain.c | OpenGL client side glue to compositor implementation |
comp_gl_memobj_swapchain.h | OpenGL client side glue using memory objects - header |
comp_gl_win32_client.c | Win32 client side glue to compositor implementation |
comp_gl_win32_client.h | OpenGL on Win32 client side glue to compositor header |
comp_gl_win32_glue.c | Glue code to OpenGL Win32 client side code |
comp_gl_xlib_client.c | Xlib client side glue to compositor implementation |
comp_gl_xlib_client.h | OpenGL on Xlib client side glue to compositor header |
comp_gl_xlib_glue.c | Glue code to OpenGL Xlib client side code |
comp_gles_glue.c | Glue code to OpenGL ES client side code |
comp_vk_client.c | Vulkan client side glue to compositor implementation |
comp_vk_client.h | Vulkan client side glue to compositor header |
comp_vk_glue.c | Glue code to vulkan client side code |
► main | Main compositor code |
comp_compositor.c | Main compositor written using Vulkan implementation |
comp_compositor.h | Main compositor written using Vulkan header |
comp_documentation.h | Documentation for the compositor |
comp_frame.h | Small helper functions to manage frames |
comp_main_interface.h | Header for the main compositor interface |
comp_mirror_to_debug_gui.c | Compositor mirroring code |
comp_mirror_to_debug_gui.h | Compositor mirroring code |
comp_renderer.c | Compositor rendering code |
comp_renderer.h | Compositor rendering code header |
comp_settings.c | Settings struct for compositor |
comp_settings.h | Settings struct for compositor header |
comp_target.h | Abstracted compositor rendering target |
comp_target_swapchain.c | Target Vulkan swapchain code |
comp_target_swapchain.h | Target Vulkan swapchain code header |
comp_window.h | Compositor window header |
comp_window_android.c | Android window code |
comp_window_direct.c | Common direct mode window code |
comp_window_direct.h | Common direct mode window code header |
comp_window_direct_nvidia.c | Direct mode window code |
comp_window_direct_randr.c | Direct mode window code |
comp_window_direct_wayland.c | Wayland direct mode code |
comp_window_mswin.c | Microsoft Windows window code |
comp_window_peek.c | Displays the content of one or both eye onto a desktop window |
comp_window_peek.h | Displays the content of one or both eye onto a desktop window |
comp_window_vk_display.c | Direct mode on PLATFORM_DISPLAY_KHR code |
comp_window_wayland.c | Wayland window code |
comp_window_xcb.c | XCB window code |
► mock | |
mock_compositor.cpp | A mock native compositor to use when testing client compositors |
mock_compositor.h | A mock native compositor to use when testing client compositors |
► multi | |
comp_multi_compositor.c | Multi client wrapper compositor |
comp_multi_interface.h | Interface for the multi-client layer code |
comp_multi_private.h | System compositor capable of supporting multiple clients: internal structs |
comp_multi_system.c | Multi client wrapper compositor |
► null | |
null_compositor.c | Null compositor implementation |
null_compositor.h | Internal header for null compositor |
null_interfaces.h | Header for null compositor interfaces |
► render | |
render_buffer.c | Buffer functions |
render_compute.c | The compositor compute based rendering code |
render_distortion.c | Code for handling distortion resources (not shaders) |
render_gfx.c | The NEW compositor rendering code header |
render_interface.h | The NEW compositor rendering code header |
render_resources.c | Shared resources for rendering |
render_shaders.c | Shader loading code |
render_sub_alloc.c | Sub allocation functions |
render_util.c | The compositor compute based rendering code |
► util | |
comp_base.c | Helper implementation for native compositors |
comp_base.h | Helper implementation for native compositors |
comp_layer_accum.c | Re-assemble a collection of composition layers submitted for a frame |
comp_layer_accum.h | Re-assemble a collection of composition layers submitted for a frame |
comp_render.h | Compositor render implementation |
comp_render_cs.c | Compositor rendering code |
comp_render_gfx.c | Compositor gfx rendering code |
comp_render_helpers.h | Compositor rendering code helpers |
comp_scratch.c | Helper implementation for native compositors |
comp_scratch.h | Helper implementation for native compositors |
comp_semaphore.c | Independent semaphore implementation |
comp_semaphore.h | Independent semaphore implementation |
comp_swapchain.c | Independent swapchain implementation |
comp_swapchain.h | Independent swapchain implementation |
comp_sync.c | Independent xrt_compositor_fence implementation |
comp_sync.h | Independent xrt_compositor_fence implementation |
comp_vulkan.c | Vulkan code for compositors |
comp_vulkan.h | Vulkan code for compositors |
► drivers | Drivers files |
► android | Android sensors driver files |
android_prober.c | Interface to Android sensors prober code |
android_prober.h | Interface to Android sensors driver |
android_sensors.c | Android sensors driver code |
android_sensors.h | Android sensors driver header |
► arduino | Arduino flexible input device driver files |
arduino_device.c | Arduino felxable input device code |
arduino_interface.h | Interer face Arduino flexible input device driver |
arduino_prober.c | Arduino felxable input device prober code |
► daydream | Daydream Controller driver files |
daydream_device.c | Daydream controller code |
daydream_device.h | Interface to Daydream driver code |
daydream_interface.h | Interface to Daydream Controller driver |
daydream_prober.c | Daydream prober code |
► depthai | |
depthai_driver.cpp | DepthAI frameserver implementation |
depthai_interface.h | Interface header for DepthAI camera |
► euroc | Euroc driver files |
euroc_device.c | Fake device tracked with EuRoC datasets and SLAM |
euroc_driver.h | Internal header for the euroc driver utilities |
euroc_interface.h | Interface for Euroc driver |
euroc_player.cpp | EuRoC playback functionality |
euroc_runner.c | Play EuRoC datasets and track them with the SLAM tracker |
► hdk | HDK driver files |
hdk_device.cpp | Driver for an OSVR Hacker Dev Kit device |
hdk_device.h | Interface to direct OSVR HDK driver code |
hdk_interface.h | Interface to direct OSVR HDK driver code |
hdk_prober.c | OSVR HDK prober code |
► ht | Camera based hand tracking files |
ht_driver.c | Camera based hand tracking driver code |
ht_interface.h | Interface to camera based hand tracking driver code |
► ht_ctrl_emu | |
ht_ctrl_emu.cpp | Driver to emulate controllers from hand-tracking input |
ht_ctrl_emu_interface.h | Driver to emulate controllers from hand-tracking input |
► hydra | Razer Hydra driver files |
hydra_driver.c | Razer Hydra prober and driver code |
hydra_interface.h | Interface to Razer Hydra driver |
► illixr | illixr driver. files |
illixr_component.cpp | ILLIXR plugin |
illixr_component.h | ILLIXR plugin |
illixr_device.cpp | ILLIXR HMD |
illixr_interface.h | ILLIXR driver interface |
illixr_prober.c | ILLIXR prober |
► multi_wrapper | |
multi.c | Combination of multiple xrt_device |
multi.h | Combination of multiple xrt_device |
► north_star | North Star driver files |
► distortion_3d | |
deformation_northstar.h | |
utility_northstar.h | |
ns_hmd.c | North Star HMD code |
ns_hmd.h | Interface between North Star distortion and HMD code |
ns_interface.h | Interface to North Star driver code |
► ohmd | OpenHMD wrapper files |
oh_device.c | Adaptor to a OpenHMD device |
oh_device.h | Interface to OpenHMD driver code |
oh_interface.h | Interface to OpenHMD driver code |
oh_prober.c | OpenHMD prober code |
► opengloves | OpenGloves Driver for VR Gloves files |
► communication | |
► bluetooth | |
opengloves_bt_serial.c | OpenGloves bluetooth serial implementation |
opengloves_bt_serial.h | Bluetooth Serial interface for OpenGloves |
opengloves_prober_bt.c | OpenGloves bluetooth prober implementation |
opengloves_prober_bt.h | OpenGloves bluetooth prober |
► serial | |
opengloves_prober_serial.c | OpenGloves serial prober implementation |
opengloves_prober_serial.h | Serial prober interface for OpenGloves |
opengloves_serial.c | USB Serial implementation for OpenGloves |
opengloves_serial.h | USB Serial interface for OpenGloves |
opengloves_communication.h | Communication structures for OpenGloves |
► encoding | |
alpha_encoding.cpp | OpenGloves Alpha Encoding Decoding implementation |
alpha_encoding.h | OpenGloves Alpha Encoding Decoding interface |
encoding.h | Defines for OpenGloves internal inputs |
opengloves_device.c | OpenGloves device implementation |
opengloves_device.h | OpenGloves device |
opengloves_interface.h | OpenGloves device interface |
opengloves_prober.c | OpenGloves prober implementation |
► psmv | PS Move driver files |
psmv_driver.c | PlayStation Move motion controller prober and driver code |
psmv_interface.h | Interface to PS Move driver |
► pssense | PlayStation Sense driver files |
pssense_driver.c | PlayStation Sense controller prober and driver code |
pssense_interface.h | Interface to PlayStation Sense driver |
► psvr | PSVR driver files |
psvr_device.c | PSVR device implementation, imported from OpenHMD |
psvr_device.h | PSVR device header, imported from OpenHMD |
psvr_interface.h | Interface to PSVR driver |
psvr_packet.c | PSVR packet parsing implementation, imported from OpenHMD |
psvr_prober.c | PSVR prober code |
► qwerty | Qwerty driver files |
qwerty_device.c | Implementation of qwerty_device related methods |
qwerty_device.h | Internal header for qwerty_device and its friends |
qwerty_interface.h | Interface to Qwerty driver |
qwerty_prober.c | Qwerty devices autoprober |
qwerty_sdl.c | Connection between user-generated SDL events and qwerty devices |
► realsense | Intel RealSense driver files |
rs_ddev.c | RealSense helper driver for in-device SLAM 6DOF tracking |
rs_driver.h | Internal header for the RealSense driver |
rs_hdev.c | RealSense device tracked with host-SLAM |
rs_interface.h | Interface to RealSense devices |
rs_prober.c | Realsense prober code |
► remote | Remote debugging driver files |
r_device.c | Controller remote driver |
r_hmd.c | HMD remote driver |
r_hub.c | Main hub of the remote driver |
r_interface.h | Interface to remote driver |
r_internal.h | Internal stuff in remote driver |
► rift_s | Oculus Rift S driver files |
rift_s.c | Oculus Rift S headset tracking system |
rift_s.h | Oculus Rift S Driver Internal Interface |
rift_s_camera.c | Oculus Rift S camera handling |
rift_s_camera.h | Oculus Rift S camera handling |
rift_s_controller.c | Oculus Rift S Touch Controller driver |
rift_s_controller.h | Oculus Rift S Touch Controller interface |
rift_s_firmware.c | Oculus Rift S firmware parsing |
rift_s_firmware.h | Oculus Rift S firmware parsing interface |
rift_s_hmd.c | Driver code for Oculus Rift S headsets |
rift_s_hmd.h | Interface to the Oculus Rift S HMD driver code |
rift_s_interface.h | Interface to rift_s driver |
rift_s_protocol.c | Oculus Rift S USB protocol implementation |
rift_s_protocol.h | Oculus Rift S USB protocol implementation interface |
rift_s_radio.c | Oculus Rift S HMD Radio management |
rift_s_radio.h | Oculus Rift S HMD Radio management interface |
rift_s_tracker.c | Driver code for Oculus Rift S headsets |
rift_s_tracker.h | HMD tracker handling |
rift_s_util.cpp | Driver code for Oculus Rift S headsets |
rift_s_util.h | Oculus Rift S utility functions |
► rokid | |
rokid_hmd.c | Driver for the Rokid Air and Max devices |
rokid_interface.h | Interface to rokid driver |
► sample | Sample HMD driver files |
sample_hmd.c | Sample HMD device, use as a starting point to make your own device driver |
sample_interface.h | Interface to Sample HMD driver |
sample_prober.c | "auto-prober" for Sample HMD that can be autodetected but not through USB VID/PID |
► simula | |
svr_hmd.c | SimulaVR driver code |
svr_interface.h | SimulaVR driver interface |
► simulated | Simulated driver files |
simulated_controller.c | Simulated controller device |
simulated_hmd.c | Simulated HMD device |
simulated_interface.h | Interface to simulated driver |
simulated_prober.c | Simulated prober code |
► steamvr_lh | Wrapper for the SteamVR Lighthouse driver. files |
► interfaces | |
blockqueue.cpp | OpenVR IVRBlockQueue interface implementation |
blockqueue.hpp | OpenVR IVRBlockQueue interface header |
context.hpp | SteamVR driver context - implements xrt_tracking_origin and IVRDriverContext |
driver_manager.cpp | OpenVR IVRDriverManager interface implementation |
driver_manager.hpp | OpenVR IVRDriverManager interface header |
iobuffer.cpp | OpenVR IVRIOBuffer interface implementation |
iobuffer.hpp | OpenVR IVRIOBuffer interface header |
paths.cpp | OpenVR IVRPaths interface implementation |
paths.hpp | OpenVR IVRPaths interface header |
resources.cpp | OpenVR IVRResources interface implementation |
resources.hpp | OpenVR IVRResources interface header |
server.hpp | OpenVR IVRServer internal interface header |
settings.cpp | OpenVR IVRSettings interface implementation |
settings.hpp | OpenVR IVRSettings interface header |
device.cpp | SteamVR driver device implementation |
device.hpp | SteamVR driver device header - inherits xrt_device |
steamvr_lh.cpp | SteamVR driver context implementation and entrypoint |
steamvr_lh_interface.h | SteamVR driver device interface |
► survive | |
survive_driver.c | Adapter to Libsurvive |
survive_interface.h | Interface to Libsurvive adapter |
► twrap | |
twrap_interface.h | Tiny xrt_device exposing SLAM capabilities |
twrap_slam.c | Tiny xrt_device exposing SLAM capabilities |
► ultraleap_v2 | |
ulv2_driver.cpp | Driver for Ultraleap's V2 API for the Leap Motion Controller |
ulv2_interface.h | Driver for Ultraleap's V2 API for the Leap Motion Controller |
► ultraleap_v5 | |
ulv5_driver.cpp | Driver for Ultraleap's V5 API for the Leap Motion Controller |
ulv5_interface.h | Driver for Ultraleap's V5 API for the Leap Motion Controller |
► v4l2 | |
v4l2_driver.c | V4L2 frameserver implementation |
v4l2_driver.h | V4L2 frameserver common definitions |
v4l2_interface.h | Header |
► vf | |
vf_driver.c | Video file frameserver implementation |
vf_interface.h | Header |
► vive | HTC Vive and Valve Index driver files |
vive.h | Common vive header |
vive_controller.c | Vive Controller prober and driver code |
vive_controller.h | Interface to HTC Vive and Valve Index driver |
vive_device.c | Vive device implementation |
vive_device.h | Vive device header |
vive_lighthouse.c | Vive Lighthouse Watchman implementation |
vive_lighthouse.h | Vive Lighthouse Watchman implementation |
vive_prober.c | Drv_vive prober code |
vive_prober.h | Interface to HTC Vive and Valve Index driver |
vive_protocol.c | Vive USB HID reports |
vive_protocol.h | Vive USB HID reports |
vive_source.c | Interface for vive data sources |
vive_source.h | Interface for vive data sources |
► wmr | Windows Mixed Reality driver files |
wmr_bt_controller.c | Driver for Bluetooth based WMR Controller |
wmr_bt_controller.h | Driver interface for Bluetooth based WMR motion controllers |
wmr_camera.c | WMR camera interface |
wmr_camera.h | Interface to read WMR cameras |
wmr_common.h | Defines and constants related to WMR driver code |
wmr_config.c | Driver code to read WMR config blocks |
wmr_config.h | WMR and MS HoloLens configuration structures |
wmr_config_key.h | |
wmr_controller.c | Driver for WMR Controllers |
wmr_controller.h | Implementation of Original & HP WMR controllers |
wmr_controller_base.c | Driver for WMR Controller |
wmr_controller_base.h | Common implementation for WMR controllers, handling shared behaviour such as communication, configuration reading, IMU integration |
wmr_controller_hp.c | Driver for WMR Controllers |
wmr_controller_og.c | Driver for WMR Controllers |
wmr_controller_protocol.c | WMR Motion Controller protocol helpers implementation |
wmr_controller_protocol.h | WMR Motion Controller protocol constants, structures and helpers |
wmr_hmd.c | Driver code for a WMR HMD |
wmr_hmd.h | Interface to the WMR HMD driver code |
wmr_hmd_controller.c | Implementation of tunnelled controller connection, that translates messages passing via an HP G2 or Sasmung Odyssey+ HMD |
wmr_hmd_controller.h | Implementation of tunnelled controller connection, that translates messages passing via an HP G2 or Sasmung Odyssey+ HMD |
wmr_interface.h | Interface to the WMR driver |
wmr_prober.c | WMR prober code |
wmr_protocol.c | WMR and MS HoloLens protocol helpers implementation |
wmr_protocol.h | WMR and MS HoloLens protocol constants, structures and helpers header |
wmr_source.c | WMR camera and IMU data source |
wmr_source.h | Interface for WMR data sources |
► xreal_air | Xreal_air files |
xreal_air_hmd.c | Xreal Air packet parsing implementation |
xreal_air_hmd.h | Xreal Air packet parsing implementation |
xreal_air_interface.h | Xreal Air packet parsing implementation |
xreal_air_packet.c | Xreal Air packet parsing implementation |
► ipc | Inter-Process Communication layer |
► android | Inter-Process Communication layer android code |
► src | |
► main | |
► java | |
► org | |
► freedesktop | |
► monado | |
► ipc | |
Client.java | Implementation of the Monado AIDL server |
MonadoImpl.java | Implementation of the Monado AIDL server |
ipc_client_android.cpp | Implementation exposing Android-specific IPC client code to C |
ipc_client_android.h | Header exposing Android-specific IPC client code to C |
org.freedesktop.monado.ipc.cpp | Out-of-line implementations for partially-generated wrapper for the org.freedesktop.monado.ipc Java package |
org.freedesktop.monado.ipc.hpp | Partially-generated wrapper for the org.freedesktop.monado.ipc Java package |
org.freedesktop.monado.ipc.impl.hpp | Inline implementations for partially-generated wrapper for the org.freedesktop.monado.ipc Java package - do not include on its own! |
► client | Inter-Process Communication layer client code |
ipc_client.h | Common client side code |
ipc_client_compositor.c | Client side wrapper of compositor |
ipc_client_connection.c | Just the client connection setup/teardown bits |
ipc_client_connection.h | More-internal client side code |
ipc_client_device.c | IPC Client device |
ipc_client_hmd.c | IPC Client HMD device |
ipc_client_instance.c | Client side wrapper of instance |
ipc_client_interface.h | Interface for IPC client instance code |
ipc_client_session.c | Client side wrapper of xrt_session |
ipc_client_space_overseer.c | IPC Client space overseer |
ipc_client_system.c | Client side wrapper of xrt_system |
ipc_client_system_devices.c | IPC Client system devices |
► server | Inter-Process Communication layer server code |
ipc_server.h | Common server side code |
ipc_server_handler.c | Handling functions called from generated dispatch function |
ipc_server_interface.h | Interface for IPC server code |
ipc_server_mainloop_android.c | Server mainloop details on Android |
ipc_server_mainloop_android.h | Additional server entry points needed for Android |
ipc_server_mainloop_linux.c | Server mainloop details on Linux |
ipc_server_mainloop_windows.cpp | Server mainloop details on Windows |
ipc_server_per_client_thread.c | Per client thread listening on the socket |
ipc_server_process.c | Server process functions |
► shared | Inter-Process Communication layer shared code |
ipc_documentation.h | IPC documentation |
ipc_message_channel.h | IPC message channel functions |
ipc_message_channel_unix.c | IPC message channel functions for UNIX platforms |
ipc_message_channel_windows.cpp | IPC message channel functions for Windows |
ipc_protocol.h | Common protocol definition |
ipc_shmem.c | IPC shared memory helpers |
ipc_shmem.h | Shared memory helpers |
ipc_utils.c | IPC util helpers |
ipc_utils.h | IPC util helpers, for internal use only |
► state_trackers | State trackers |
► gui | |
gui_common.h | Common file for the Monado GUI program |
gui_imgui.h | Imgui integration for gui |
gui_ogl.c | OpenGL helper functions for drawing GUI elements |
gui_ogl.h | OpenGL helper functions for drawing GUI elements |
gui_ogl_sink.c | OpenGL sink functions |
gui_prober.c | Enable the use of the prober in the gui application |
gui_scene.cpp | SDL2 functions to drive the GUI |
gui_scene_calibrate.c | Calibration gui scene |
gui_scene_debug.c | A debugging scene |
gui_scene_hand_tracking_demo.c | Small hand-tracking demo scene |
gui_scene_main_menu.c | Main menu |
gui_scene_record.c | Recording scene gui |
gui_scene_record_euroc.c | Small hand-tracking demo scene |
gui_scene_remote.c | Remote debugging UI |
gui_scene_tracking_overrides.c | A very small scene that lets the user configure tracking overrides |
gui_scene_video.c | A very small scene that lets the user select a video device |
gui_stb.c | Compile the STB image write implementation |
gui_widget_native_images.c | Swapchain rendering helper code |
gui_widget_native_images.h | Swapchain rendering helper code |
gui_window_record.c | Recording window gui |
gui_window_record.h | Recording window gui |
► oxr | OpenXR state tracker files |
oxr_api_action.c | Action related API entrypoint functions |
oxr_api_body_tracking.c | Body tracking related API entrypoint functions |
oxr_api_debug.c | Debug messaging entrypoints for the OpenXR state tracker |
oxr_api_face_tracking.c | Face tracking related API entrypoint functions |
oxr_api_face_tracking2_fb.c | Face tracking related API entrypoint functions |
oxr_api_funcs.h | Header defining all API functions |
oxr_api_instance.c | Holds instance related entrypoints |
oxr_api_negotiate.c | File for negotiating with the loader |
oxr_api_passthrough.c | Passthrough related API entrypoint functions |
oxr_api_session.c | Session entrypoints for the OpenXR state tracker |
oxr_api_space.c | Space, space, space, SPAAAAAAAAAAAAAAAAAAAAAAAAAACE! |
oxr_api_swapchain.c | Swapchain entrypoints for the OpenXR state tracker |
oxr_api_system.c | Holds system related entrypoints |
oxr_api_verify.h | File for verifying app input into api functions |
oxr_api_xdev.c | Monado xrt_device API functions |
oxr_binding.c | Holds binding related functions |
oxr_body_tracking.c | Body tracking related API entrypoint functions |
oxr_chain.h | Utilities for accessing members in an OpenXR structure chain |
oxr_conversions.h | Smaller helper functions to convert between xrt and OpenXR things |
oxr_d3d.cpp | D3D 11 and 12 shared routines |
oxr_d3d11.cpp | Holds D3D11 related functions that didn't fit somewhere else |
oxr_d3d12.cpp | Holds D3D12 related functions that didn't fit somewhere else |
oxr_defines.h | Shared internal defines and enums in the state tracker |
oxr_dpad.c | Holds binding related functions |
oxr_event.c | Holds event related functions |
oxr_extension_support.h | Macros for generating extension-related tables and code and inspecting Monado's extension support |
oxr_face_tracking.c | Face tracking related API entrypoint functions |
oxr_face_tracking2_fb.c | Face tracking related API entrypoint functions |
oxr_frame_sync.c | The objects that handle session running status and blocking of xrWaitFrame |
oxr_frame_sync.h | The objects that handle session running status and blocking of xrWaitFrame |
oxr_handle.h | Contains handle-related functions and defines only required in a few locations |
oxr_handle_base.c | Implementation |
oxr_input.c | Holds input related functions |
oxr_input_transform.c | Handles transformation/filtering of input data |
oxr_input_transform.h | Defines ways of performing (possibly multi-step) conversions of input data |
oxr_instance.c | Holds instance related functions |
oxr_logger.c | Logging functions |
oxr_logger.h | Logging functions |
oxr_messenger.c | Holds debug utils/messenger related functions |
oxr_objects.h | The objects representing OpenXR handles, and prototypes for internal functions used in the state tracker |
oxr_passthrough.c | Passthrough related API entrypoint functions |
oxr_path.c | Holds path related functions |
oxr_pretty_print.c | Pretty printing functions |
oxr_pretty_print.h | Pretty printing functions |
oxr_session.c | Holds session related functions |
oxr_session_frame_end.c | Holds session end frame functions |
oxr_session_gfx_d3d11.c | Holds D3D11 specific session functions |
oxr_session_gfx_d3d12.c | Holds D3D12 specific session functions |
oxr_session_gfx_egl.c | Holds OpenGL-specific session functions |
oxr_session_gfx_gl_win32.c | Holds OpenGL-specific session functions for Windows |
oxr_session_gfx_gl_xlib.c | Holds OpenGL-specific session functions |
oxr_session_gfx_gles_android.c | Holds OpenGLES-specific session functions |
oxr_session_gfx_vk.c | Holds Vulkan specific session functions |
oxr_space.c | So much space! |
oxr_subaction.h | Provides a utility macro for dealing with subaction paths |
oxr_swapchain.c | Holds swapchain related functions |
oxr_swapchain_common.h | Helper functions for oxr_swapchain functions |
oxr_swapchain_d3d11.c | Holds D3D11 swapchain related functions |
oxr_swapchain_d3d12.c | Holds D3D12 swapchain related functions |
oxr_swapchain_gl.c | Holds OpenGL swapchain related functions |
oxr_swapchain_vk.c | Holds Vulkan swapchain related functions |
oxr_system.c | Holds system related entrypoints |
oxr_two_call.h | Two call helper functions |
oxr_verify.c | File for verifying app input into api functions |
oxr_vulkan.c | Holds Vulkan related functions |
oxr_xdev.c | Various helpers for accessing xrt_device |
oxr_xret.h | File holding helper for xrt_result_t results |
► prober | |
p_documentation.h | Documentation |
p_dump.c | Prober code to dump information |
p_libusb.c | Prober code interfacing to libusb |
p_libuvc.c | Prober code interfacing to libuvc |
p_prober.c | Main prober code |
p_prober.h | Main prober code |
p_tracking.c | Tracking integration code |
p_udev.c | Prober code interfacing to libudev |
► steamvr_drv | |
ovrd_driver.cpp | Main driver code for SteamVR driver provider |
ovrd_interface.h | Interface to the Monado SteamVR Driver exporter |
ovrd_log.hpp | Logger code |
► targets | |
► android_common | |
► src | |
► main | |
► java | |
► org | |
► freedesktop | |
► monado | |
► android_common | |
AboutActivity.java | Simple main activity for Android |
VrModeStatus.java | Fragment to display the VR Mode status and actions |
► cli | |
cli_cmd_calibrate.c | Prints a list of found devices and tests opening some of them |
cli_cmd_calibration_dump.c | Loads and dumps a calibration file |
cli_cmd_info.c | Prints information about the system |
cli_cmd_lighthouse.c | Lighthouse base station control tools |
cli_cmd_probe.c | Just does a probe |
cli_cmd_slambatch.c | EuRoC datasets batch evaluation tool |
cli_cmd_test.c | Prints a list of found devices and tests opening some of them |
cli_common.h | Common file for the CLI program |
cli_main.c | A cli program to configure and test Monado |
► common | |
target_builder_interface.h | List of all xrt_builder creation functions |
target_builder_legacy.c | Fallback builder the old method of probing devices |
target_builder_lighthouse.c | Builder for Lighthouse-tracked devices (vive, index, tundra trackers, etc.) |
target_builder_north_star.c | System builder for North Star headsets |
target_builder_qwerty.c | Qwerty devices builder |
target_builder_remote.c | Remote driver builder |
target_builder_rgb_tracking.c | Builder to setup rgb tracking devices into a system |
target_builder_rift_s.c | Oculus Rift S prober code |
target_builder_simulated.c | Simulated driver builder |
target_builder_simulavr.c | Builder for SimulaVR devices |
target_builder_steamvr.c | Builder for SteamVR proprietary driver wrapper |
target_builder_wmr.c | Windows Mixed Reality driver driver builder |
target_builder_xreal_air.c | Xreal Air prober code |
target_instance.c | Shared default implementation of the instance with compositor |
target_instance_no_comp.c | Shared default implementation of the instance, but with no compositor usage |
target_instance_parts.h | Shared default implementation of the instance: pieces that are used whether or not there's a compositor |
target_lists.c | Common things to pull into a target |
target_lists.h | Common things to pull into a target |
► ctl | |
main.c | Small cli application to control IPC service |
► gui | |
gui_sdl2.c | SDL2 functions to drive the GUI |
gui_sdl2.h | Common file for the Monado SDL2 based GUI program |
gui_sdl2_imgui.c | Main entrypoint for the Monado GUI program |
gui_sdl2_main.c | Main entrypoint for the Monado GUI program |
► libmonado | |
example.c | Small cli application to demonstrate use of libmonado |
monado.c | Implementation of libmonado |
monado.h | Interface of libmonado |
► openxr | |
target.c | The thing that binds all of the OpenXR driver together |
► openxr_android | |
► src | |
► main | |
► java | |
► org | |
► freedesktop | |
► monado | |
► openxr_runtime | |
MonadoOpenXrApplication.java | Simple Application subclass |
► sdl_test | |
sdl_compositor.c | SDL compositor implementation |
sdl_device.c | Shared default implementation of the device with compositor |
sdl_hack_stubs.c | Stubs needed to be able to link in the ipc layer |
sdl_instance.c | Shared default implementation of the instance with compositor |
sdl_internal.h | Internal header for SDL XR system |
sdl_internal.hpp | Internal C++ header for SDL XR system |
sdl_main.c | Main file for sdl compositor experiments |
sdl_program.cpp | C++ program part for the SDL test |
sdl_swapchain.c | Swapchain code for the sdl code |
► service | |
main.c | Main file for Monado service |
► service-lib | |
service_target.cpp | Library exposing IPC server |
► steamvr_drv | |
main.c | Very simple target main file to export the right symbol |
► tracking | |
t_hand_tracking.h | Hand tracking interfaces |
► tracking | |
► hand | |
► mercury | |
► kine_lm | |
lm_defines.hpp | Defines for Levenberg-Marquardt kinematic optimizer |
lm_hand_init_guesser.cpp | Levenberg-Marquardt kinematic optimizer |
lm_hand_init_guesser.hpp | Levenberg-Marquardt kinematic optimizer |
lm_interface.hpp | Interface for Levenberg-Marquardt kinematic optimizer |
lm_main.cpp | Levenberg-Marquardt kinematic optimizer |
lm_optimizer_params_packer.inl | Util to reinterpret Ceres parameter vectors as hand model parameters |
lm_rotations.inl | Autodiff-safe rotations for Levenberg-Marquardt kinematic optimizer |
lm_rotations_ceres.inl | Autodiff-safe rotations for Levenberg-Marquardt kinematic optimizer |
hg_debug_instrumentation.hpp | Debug instrumentation for mercury_train or others to control hand tracking |
hg_image_distorter.cpp | Utility to do batch stereographic projections of images |
hg_image_math.inl | Helper header for drawing and image transforms |
hg_interface.h | Public interface of Mercury hand tracking |
hg_model.cpp | Mercury ML models! |
hg_numerics_checker.hpp | Simple util for setting floating-point exceptions and checking for NaNs |
hg_stereographic_unprojection.hpp | Stereographic unprojection |
hg_sync.cpp | Mercury hand tracking main file |
hg_sync.hpp | Mercury main header! |
kine_common.hpp | Random common stuff for Mercury kinematic optimizers |
t_hand_tracking_async.c | Camera based hand tracking driver code |
► xrt | XRT interfaces includes |
xrt_android.h | Header holding Android-specific details |
xrt_compiler.h | Header holding common defines |
xrt_compositor.h | Header declaring XRT graphics interfaces |
xrt_config.h | Includes all config headers, use separate headers instead |
xrt_config_os.h | Auto detect OS and certain features |
xrt_defines.h | Common defines and enums for XRT |
xrt_deleters.hpp | Generic unique_ptr deleters for Monado types |
xrt_device.h | Header defining an xrt display or controller device |
xrt_device.hpp | C++ helpers for xrt_device |
xrt_documentation.h | Header with just documentation |
xrt_frame.h | Data frame header |
xrt_frameserver.h | Frameserver interface for video drivers |
xrt_gfx_d3d11.h | Header defining a D3D11 graphics interface |
xrt_gfx_d3d12.h | Header defining a D3D12 graphics interface |
xrt_gfx_egl.h | Header defining an XRT graphics provider |
xrt_gfx_gl.h | Header for misc OpenGL code, not a complete graphics provider |
xrt_gfx_gles.h | Header for misc OpenGL ES code, not a complete graphics provider |
xrt_gfx_vk.h | Header defining an XRT graphics provider |
xrt_gfx_win32.h | Header defining an XRT graphics provider |
xrt_gfx_xlib.h | Header defining an XRT graphics provider |
xrt_handles.h | Native handle types |
xrt_instance.h | Header for xrt_instance object |
xrt_limits.h | Header for limits of the XRT interfaces |
xrt_openxr_includes.h | Include all of the openxr headers in one place |
xrt_prober.h | Common interface to probe for devices |
xrt_results.h | Internal result type for XRT |
xrt_session.h | Header for session object |
xrt_settings.h | Common settings structs to be transferred between different parts of Monado, mainly for tracking and camera usage |
xrt_space.h | Header defining xrt space and space overseer |
xrt_system.h | Header for system objects |
xrt_tracking.h | Header defining the tracking system integration in Monado |
xrt_visibility_mask.h | Header defining visibility mask helper struct |
xrt_vulkan_includes.h | Include all of the Vulkan headers in one place, and cope with any "messy" includes implied by it |
xrt_windows.h | A minimal way to include Windows.h |