Monado OpenXR Runtime
Data Structures
Here are the data structures with brief descriptions:
[detail level 1234567]
 Nbindings
 Nipcproto
 Nmonado
 Norg
 Nwrap
 Nxrt
 Candroid_custom_surface
 Candroid_device
 Candroid_instance_baseA basic implementation of the xrt_instance_android interface, a platform-specific "aspect" of xrt_instance
 Candroid_lifecycle_callbacksAn object handling a collection of callbacks for the Android lifecycle
 Candroid_proberAndroid prober struct
 Carduino_device
 Carduino_parsed_input
 Carduino_parsed_sampleA parsed sample of accel and gyro
 Carduino_proberArduino prober struct
 CAxis
 Cble_conn_helperSmall helper that keeps track of a connection and a error
 Cble_notifyAn implementation of os_ble_device using a DBus connection to BlueZ
 CBlockQueueThis interface is missing in the C++ header but present in the C one, and the lighthouse driver requires it
 Cbuild_state
 CButton
 Ccalibration_sceneAn OpenCV-based camera calibration scene
 Ccamera_window
 CCDeviceDriver_Monado
 CCDeviceDriver_Monado_Controller
 Ccemu_device
 Ccemu_system
 Cclient_d3d11_compositorWraps the real compositor providing a D3D11 based interface
 Cclient_d3d11_swapchainWraps the real compositor swapchain providing a D3D11 based interface
 Cclient_d3d11_swapchain_dataSplit out from client_d3d11_swapchain to ensure that it is standard layout, std::vector for instance is not standard layout
 Cclient_d3d12_compositorWraps the real compositor providing a D3D12 based interface
 Cclient_d3d12_swapchainWraps the real compositor swapchain providing a D3D12 based interface
 Cclient_d3d12_swapchain_dataSplit out from client_d3d12_swapchain to ensure that it is standard layout, std::vector for instance is not standard layout
 Cclient_egl_compositorEGL based compositor, carries the extra needed EGL information needed by the client side code and can handle both GL Desktop or GLES contexts
 Cclient_egl_context
 Cclient_gl_compositorWraps the real compositor providing a OpenGL based interface
 Cclient_gl_context
 Cclient_gl_eglimage_swapchainWraps the real compositor swapchain providing a OpenGL based interface
 Cclient_gl_memobj_swapchainWraps the real compositor swapchain providing a OpenGL based interface
 Cclient_gl_swapchainWraps the real compositor swapchain providing a OpenGL based interface
 Cclient_gl_win32_compositorA client facing win32 OpenGL base compositor
 Cclient_gl_xlib_compositorA client facing xlib OpenGL base compositor
 Cclient_vk_compositorWraps the real compositor providing a Vulkan based interface
 Cclient_vk_swapchainWraps the real compositor swapchain providing a Vulkan based interface
 Ccomp_baseA simple compositor base that handles a lot of things for you
 Ccomp_compositorMain compositor struct tying everything in the compositor together
 Ccomp_frameTracking frame state
 Ccomp_frame_paramsAdditional per-frame parameters
 Ccomp_layerA single layer in a comp_layer_accum
 Ccomp_layer_accumCollect a stack of layers - one frame's worth
 Ccomp_mirror_to_debug_guiHelper struct for mirroring the compositors rendering to the debug ui, which also enables recording
 Ccomp_render_dispatch_dataThe input data needed for a complete layer squashing distortion rendering to a target
 Ccomp_render_scratch_stateHolds an array of comp_scratch_view_state to match the number of views
 Ccomp_render_view_dataThe input data needed for a single view, shared between both GFX and CS paths
 Ccomp_rendererHolds associated vulkan objects and state to render with a distortion
 Ccomp_scratch_indicesSmall helper struct to deal with indices
 Ccomp_scratch_single_imagesHolds scratch images for a single view, designed to work with render code
 Ccomp_scratch_stereo_imagesHolds scartch images for a stereo views, designed to work with render code
 Ccomp_scratch_view_state
 Ccomp_semaphoreA simple implementation of the xrt_compositor_semaphore interface
 Ccomp_settingsSettings for the compositor
 Ccomp_swapchainA swapchain that is almost a one to one mapping to a OpenXR swapchain
 Ccomp_swapchain_imageA single swapchain image, holds the needed state for tracking image usage
 Ccomp_swapchain_sharedShared resource(s) and garbage collector for swapchains
 Ccomp_targetA compositor target: where the compositor renders to
 Ccomp_target_create_images_infoInformation given in when creating the swapchain images, argument to comp_target_create_images
 Ccomp_target_factoryA factory of targets
 Ccomp_target_imageImage and view pair for comp_target
 Ccomp_target_semaphoresCollection of semaphores needed for a target
 Ccomp_target_swapchainWraps and manage VkSwapchainKHR and VkSurfaceKHR, used by Compositor code
 Ccomp_vulkan_argumentsArguments to Vulkan bundle initialisation, all args needs setting
 Ccomp_vulkan_formatsStruct with supported format, these are not only check for optimal flags but also the ability to import and export them
 Ccomp_vulkan_resultsExtra results from Vulkan bundle initialisation
 Ccomp_window_androidAn Android window
 Ccomp_window_direct_nvidiaDirect mode "window" into a device, using Vulkan direct mode extension and xcb
 Ccomp_window_direct_nvidia_displayProbed display
 Ccomp_window_direct_randrDirect mode "window" into a device, using Vulkan direct mode extension and xcb
 Ccomp_window_direct_randr_displayProbed display
 Ccomp_window_direct_wayland
 Ccomp_window_mswinA Microsoft Windows window
 Ccomp_window_peek
 Ccomp_window_vk_displayDirect mode "window" into a device, using PLATFORM_DISPLAY_KHR
 Ccomp_window_waylandA Wayland connection and window
 Ccomp_window_xcbA xcb connection and window
 Ccomp_window_xcb_displayXcb display, xrandr output
 Ccompute_distortion_params
 Ccompute_layer_params
 CContext
 CControllerDevice
 CCServerDriver_Monado
 Ccurated_stateExtra state for curated debug UI
 CCWatchdogDriver_Monado
 Cd3d11_allocator
 Cd3d12_allocator
 Cdaydream_device
 Cdaydream_input_packetInput package for Daydream
 Cdaydream_parsed_input
 Cdaydream_parsed_sampleA parsed sample of accel and gyro
 Cdaydream_proberDaydream prober struct
 Cdebug_recordA single record window, here only used to draw a single element in a object window, holds all the needed state
 Cdebug_sceneA GUI scene for debugging Monado while it is running, it uses the variable tracking code in the util/u_var.h file to provide live updates state
 CDebugHSVFilterAn xrt_frame_sink that can be used to debug the behavior of t_hsv_filter
 CDebugHSVPickerAn xrt_frame_sink that can be used to select HSV thresholds interactively
 CDebugHSVViewerAn xrt_frame_sink related to debug viewing of HSV
 Cdepthai_fsDepthAI frameserver support the Luxonis Oak devices
 Cdepthai_slam_startup_settings
 CDepthAIFrameWrapperManage dai::ImgFrame life-time
 CDevice
 Cdevice_info
 CDeviceBuilder
 Cdirect_wayland_lease
 Cdirect_wayland_lease_connector
 Cdirect_wayland_lease_device
 Cdisplay_info
 CDistortParamKB4CostFunctor
 Cdraw_stateOne "frame" of draw state, what is passed to the variable tracking visitor functions, holds pointers to the program and live state such as visibility stack of gui headers
 CDriverManager
 Ceuroc_device
 Ceuroc_playerEuroc player is in charge of the playback of a particular dataset
 Ceuroc_player_configConfiguration for the euroc player
 Ceuroc_player_dataset_infoDescribes information about a particular EuRoC dataset residing in path
 Ceuroc_player_playback_configPlayback configuration for the euroc player
 Ceuroc_prober
 Ceuroc_recorder
 CException
 Cfake_timingA very simple pacer that tries it best to pace a compositor
 CfenceA very simple implementation of a fence primitive
 Cflags
 Cformat_list_helper
 Cfov_entry
 Cframe
 Cgfx_layer_stateInternal state for the layer squashing render step, contains all per-view state
 Cgfx_layer_view_stateInternal per-view for the layer squashing render step
 Cgfx_mesh_data
 Cgfx_mesh_state
 Cgfx_mesh_view_data
 Cgroup
 Cgstreamer_pipelineA pipeline from which you can create one or more gstreamer_sink from
 Cgstreamer_sinkAn xrt_frame_sink that uses appsrc
 Cgui_imguiInternal gui state
 Cgui_ogl_sinkAn xrt_frame_sink that shows sunk frames in the GUI
 Cgui_ogl_textureA OpenGL texture
 Cgui_programA gui program
 Cgui_record_window
 Cgui_remoteA GUI scene that lets the user select a user device
 Cgui_sceneA single currently running scene
 Cgui_scene_manager
 Cgui_tracking_overrides
 Cgui_widget_native_imagesA small widget that interfaces a u_native_images_debug struct, caching the imports from the listed xrt_image_native list
 Cgui_widget_native_images_recordA single record in a native image widget storage
 Cgui_widget_native_images_storageHelper struct to cache gui_widget_native_images
 Chdk_device
 Chg_tuneable_values
 Chid_hidraw
 CHmdDevice
 Chololens_sensors_packet
 Cht_async_implA synchronous to asynchronous wrapper around the hand-tracker code
 Cht_device
 Chydra_controller_state
 Chydra_deviceA Razer Hydra device, representing just a single controller
 Chydra_state_machineThe details of the Hydra state machine in a convenient package
 Chydra_systemA Razer Hydra system containing two controllers
 Cillixr_hmd
 Cillixr_pluginSimulated plugin class for an instance during phonebook registration
 Cillixr_prober
 Cimcontrol_buf
 Cimu_fusion
 Cindex_cameraA calibrated camera on an Index
 CIndexFingerInput
 CInputClass
 CIOBuffer
 Cipc_app_stateState for a connected application
 Cipc_arg_swapchain_from_nativeArguments for creating swapchains from native images
 Cipc_client_android
 Cipc_client_compositorDefine to test the loopback allocator
 Cipc_client_compositor_semaphoreClient proxy for an xrt_compositor_semaphore implementation over IPC
 Cipc_client_descriptionInitial info from a client when it connects
 Cipc_client_instance
 Cipc_client_list
 Cipc_client_sessionIPC client implementation of xrt_session
 Cipc_client_space
 Cipc_client_space_overseer
 Cipc_client_stateHolds the state for a single client
 Cipc_client_swapchainClient proxy for an xrt_swapchain_native implementation over IPC
 Cipc_client_systemIPC client implementation of xrt_system
 Cipc_client_system_devices
 Cipc_client_xdevAn IPC client proxy for an xrt_device
 Cipc_connectionConnection
 Cipc_device
 Cipc_info_get_view_poses_2Arguments for xrt_device::get_view_poses with two views
 Cipc_layer_entryData for a single composition layer
 Cipc_layer_slotRender state for a single client, including all layers
 Cipc_message_channelWrapper for a socket and flags
 Cipc_serverMain IPC object for the server
 Cipc_server_mainloopPlatform-specific mainloop object for the IPC server
 Cipc_shared_binding_profileA binding in the shared memory area
 Cipc_shared_deviceA device in the shared memory area
 Cipc_shared_memoryA big struct that contains all data that is shared to a client, no pointers allowed in this
 Cipc_shared_tracking_originA tracking in the shared memory area
 Cipc_swapchain_dataInformation about a single swapchain
 Cipc_thread
 Clh_modelA lighthouse consisting of sensors
 Clh_sensorA single lighthouse senosor point and normal, in IMU space
 Clighthouse_base
 Clighthouse_base_calibration
 Clighthouse_frame
 Clighthouse_ootx_report
 Clighthouse_pulse
 Clighthouse_rotor_calibration
 Clighthouse_sensor
 Clighthouse_system
 Clighthouse_watchman
 Cm_clock_observation
 Cm_clock_windowed_skew_tracker
 Cm_ff_f64
 Cm_ff_vec3_f32
 Cm_filter_euro_f32One Euro filter for a single float measurement
 Cm_filter_euro_quatOne Euro filter for a unit quaternion (used as 3D rotation)
 Cm_filter_euro_vec2One Euro filter for a 2D float measurement
 Cm_filter_euro_vec3One Euro filter for a 3D float measurement
 Cm_filter_one_euro_baseBase data type for One Euro filter instances
 Cm_imu_3dof
 Cm_imu_pre_filterThis is a common IMU pre-filter which takes raw 'ticks' from an IMU measurement and converts it into floats representing radians per second and meters per second^2 floats
 Cm_imu_pre_filter_partThis is a common IMU pre-filter which takes raw 'ticks' from a 3 axis IMU measurement and converts it into degrees per secs and meters per second^2 floats
 Cm_lowpass_float
 Cm_lowpass_integer
 Cm_permutator
 Cm_relation_history
 Cmain_menuA main menu GUI scene allowing selection of which scene to proceed to
 CMatrix4x4
 Cmesh_params
 CMetaBase
 Cmnd_poseA pose composed of a position and orientation
 Cmnd_root
 Cmock_compositorMock implementation of a native compositor
 Cmock_compositor_swapchainMock implementation of xrt_swapchain_native
 CMonadoInputComponent
 Cmulti_compositorA single compositor for feeding the layers from one session/app into the multi-client-capable system compositor
 Cmulti_device
 Cmulti_layer_entryData for a single composition layer
 Cmulti_layer_slotRender state for a single client, including all layers
 Cmulti_system_compositorThe multi-client module (aka multi compositor) is system compositor that multiplexes access to a single xrt_compositor_native, merging layers from one or more client apps/sessions
 Cns_3d_eyeDistortion information about an eye parsed from the configuration file
 Cns_3d_values
 Cns_builder
 Cns_depthai_device
 Cns_hmdInformation about the whole North Star headset
 Cns_optics_config
 Cns_t265
 Cns_ultraleap_device
 Cnull_comp_frameTracking frame state
 Cnull_compositorMain compositor struct tying everything in the compositor together
 CObjectWrapperBase
 Cogl_import_resultsResults from a import, nicer then having to pass in multiple arrays
 Coh_device
 Coh_prober
 Coh_system
 Copengloves_bt_device
 Copengloves_communication_deviceInterface for a communication method
 Copengloves_device
 Copengloves_input
 Copengloves_input_button
 Copengloves_input_buttons
 Copengloves_input_gesture
 Copengloves_input_gestures
 Copengloves_input_joystick
 Copengloves_input_joysticks
 Copengloves_output
 Copengloves_output_force_feedback
 Copengloves_serial_device
 Copenhmd_values
 COpticalSystem
 Corientations54
 Cos_ble_deviceRepresenting a single ble notify attribute on a device
 Cos_condA wrapper around a native conditional variable
 Cos_hid_deviceRepresenting a single hid interface on a device
 Cos_mutexA wrapper around a native mutex
 Cos_precise_sleeper
 Cos_semaphoreA wrapper around a native semaphore
 Cos_threadA wrapper around a native thread
 Cos_thread_helperAll in one helper that handles locking, waiting for change and starting a thread
 Coxr_actionA single action
 Coxr_action_attachmentData associated with an Action that has been attached to a Session
 Coxr_action_cacheThe set of inputs/outputs for a single sub-action path for an action
 Coxr_action_inputA input action pair of a xrt_input and a xrt_device, along with the required transform
 Coxr_action_outputA output action pair of a xrt_output_name and a xrt_device
 Coxr_action_refThe reference-counted data of an action
 Coxr_action_setA group of actions
 Coxr_action_set_attachmentThe data associated with the attachment of an Action Set (oxr_action_set) to as Session (oxr_session)
 Coxr_action_set_refThe reference-counted data of an action set
 Coxr_action_stateThe state of a action input
 Coxr_bindingInteraction profile binding state
 Coxr_debug_messengerDebug object created by the client program
 Coxr_dpad_binding_modificationDpad binding extracted from XrInteractionProfileDpadBindingEXT
 Coxr_dpad_emulationDpad emulation settings from oxr_interaction_profile
 Coxr_dpad_entryA entry in the dpad state for one action set
 Coxr_dpad_settingsDpad settings we need extracted from XrInteractionProfileDpadBindingEXT
 Coxr_dpad_stateHolds dpad binding state for a single interaction profile
 Coxr_event
 Coxr_extension_statusStructure tracking which extensions are enabled for a given instance
 Coxr_frame_syncHelper that handles synchronizing the xr{Wait,Begin,End}Frame calls
 Coxr_hand_trackerA hand tracker
 Coxr_handle_baseUsed to hold diverse child handles and ensure orderly destruction
 Coxr_input_transformVariant type for input transforms
 Coxr_input_transform_bool_to_vec1_dataData required for INPUT_TRANSFORM_BOOL_TO_VEC1
 Coxr_input_transform_dpad_dataData required for INPUT_TRANSFORM_DPAD
 Coxr_input_transform_threshold_dataData required for INPUT_TRANSFORM_THRESHOLD
 Coxr_input_value_taggedAn input value enum with the associated tag required to interpret it
 Coxr_instanceMain object that ties everything together
 Coxr_interaction_profileA single interaction profile
 Coxr_loggerLogger struct that lives on the stack, one for each call client call
 Coxr_pathInternal representation of a path, item follows this struct in memory and that in turn is followed by the string
 Coxr_profiles_per_subaction
 Coxr_refcounted
 Coxr_sessionObject that client program interact with
 Coxr_sink_loggerAllocate on the stack, make sure to zero initialize
 Coxr_spaceCan be one of several reference space types, or a space that is bound to an action
 Coxr_subaction_pathsA parsed equivalent of a list of sub-action paths
 Coxr_swapchainA set of images used for rendering
 Coxr_systemSingle or multiple devices grouped together to form a system that sessions can be created from
 Cp_factory
 Cpacing_app
 Cpacing_compositor
 CPathsThis interface is missing in the C++ header but present in the C one, and the lighthouse driver requires it
 Cplot_stateState for plotting m_ff_vec3_f32, assumes it's relative to now
 Cplugin
 Cpool
 Cprober
 Cprober_deviceA single device found by a prober
 Cprober_hidrawA hidraw interface that a prober_device exposes
 Cprober_v4lA v4l interface that a prober_device exposes
 Cprogram
 Cpsmv_calibration_partPart of a calibration data, multiple packets make up a single data packet
 Cpsmv_calibration_zcm1Calibration data, multiple packets goes into this
 Cpsmv_calibration_zcm2Calibration data, multiple packets goes into this
 Cpsmv_deviceA single PlayStation Move Controller
 Cpsmv_f32_wireWire encoding of a single 32 bit float, "little" endian
 Cpsmv_i16_wireWire encoding of a single 16 bit integer, little endian
 Cpsmv_input_zcm1Input package for ZCM1
 Cpsmv_input_zcm2Input package for ZCM2
 Cpsmv_parsed_calibration_zcm1Parsed calibration data from a ZCM1 device
 Cpsmv_parsed_calibration_zcm2Parsed calibration data from a ZCM2 device
 Cpsmv_parsed_inputA parsed input packet
 Cpsmv_parsed_sampleA parsed sample of accel and gyro
 Cpsmv_set_ledLed setting packet
 Cpsmv_u16_wireWire encoding of a single 16 bit integer, little endian
 Cpsmv_vec3_f32_wireWire encoding of three 32 bit float, "little" endian
 Cpsmv_vec3_i16_wireWire encoding of three 16 bit integers, little endian
 Cpsmv_vec3_u16_wireWire encoding of three 16 bit integers, little endian
 Cpssense_deviceA single PlayStation Sense Controller
 Cpssense_feature_reportHID output report data packet
 Cpssense_i16_le16-bit little-endian int
 Cpssense_i32_le32-bit little-endian int
 Cpssense_input_reportHID input report data packet
 Cpssense_input_statePlayStation Sense state parsed from a data packet
 Cpssense_output_reportHID output report data packet
 Cpsvr_devicePrivate struct for the PSVR driver device
 Cpsvr_parsed_sampleA parsed single gyro, accel and tick sample
 Cpsvr_parsed_sensorOver the wire sensor packet from the headset
 Cpsvr_parsed_statusA status packet from the headset in wire format
 Cpsvr_proberPSVR prober struct
 CQuaternion
 Cqwerty_controllerSupports input actions and can be attached to the HMD pose
 Cqwerty_deviceFake device that modifies its tracked pose through its methods
 Cqwerty_hmd
 Cqwerty_systemContainer of qwerty devices and driver properties
 Cr_deviceDevice
 Cr_head_data
 Cr_hmdHMD
 Cr_hubCentral object remote object
 Cr_remote_connectionShared connection
 Cr_remote_controller_dataData per controller
 Cr_remote_dataRemote data sent from the debugger to the hub
 CRay
 Crecord_scene
 Crelation_history_entry
 Crender_bufferHelper struct holding a buffer and its memory
 Crender_computeA compute rendering is used to create command buffers needed to do one frame of compositor rendering using compute shaders, it holds onto resources used by the command buffer
 Crender_compute_blit_push_dataPush data that is sent to the blit shader
 Crender_compute_distortion_ubo_dataUBO data that is sent to the compute distortion shaders
 Crender_compute_layer_ubo_dataUBO data that is sent to the compute layer shaders
 Crender_gfxA rendering is used to create command buffers needed to do one frame of compositor rendering, it holds onto resources used by the command buffer
 Crender_gfx_layer_cylinder_dataUBO data that is sent to the layer cylinder shader
 Crender_gfx_layer_equirect2_dataUBO data that is sent to the layer equirect2 shader
 Crender_gfx_layer_projection_dataUBO data that is sent to the layer projection shader
 Crender_gfx_layer_quad_dataUBO data that is sent to the layer quad shader
 Crender_gfx_mesh_ubo_dataUBO data that is sent to the mesh shaders
 Crender_gfx_render_passA render pass while not depending on a VkFramebuffer does depend on the format of the target image(s), and other options for the render pass
 Crender_gfx_target_resourcesEach rendering (render_gfx) render to one or more targets (render_gfx_target_resources), the target points to one render pass and its pipelines (render_gfx_render_pass)
 Crender_resourcesHolds all pools and static resources for rendering
 Crender_scratch_color_imageSmall helper struct to hold a scratch image, intended to be used with the compute pipeline where both srgb and unorm views are needed
 Crender_scratch_imagesHelper struct to hold scratch images
 Crender_shadersHolds all shaders
 Crender_sub_allocPer frame sub-allocation into a buffer, used to reduce the number of UBO objects we need to create
 Crender_sub_alloc_trackerA per-frame tracker of sub-allocation out of a buffer, used to reduce the number of UBO objects we need to create
 Crender_viewport_dataThe pure data information about a view that the renderer is rendering to
 CResources
 Crift_s_cameraSpecifies whether the user wants to enable autoexposure from the start
 Crift_s_camera_calibration
 Crift_s_camera_calibration_block
 Crift_s_camera_finder
 Crift_s_camera_report_t
 Crift_s_controller
 Crift_s_controller_capsense_block_t
 Crift_s_controller_config
 Crift_s_controller_imu_block_t
 Crift_s_controller_imu_calibration
 Crift_s_controller_info_block_t
 Crift_s_controller_joystick_block_t
 Crift_s_controller_maskbyte_block_t
 Crift_s_controller_raw_block_t
 Crift_s_controller_report_t
 Crift_s_controller_triggrip_block_t
 Crift_s_device_type_record_t
 Crift_s_devices_list_t
 Crift_s_fisheye62_distortion
 Crift_s_frame_data
 Crift_s_hmd
 Crift_s_hmd_config
 Crift_s_hmd_imu_sample_t
 Crift_s_hmd_radio_command_t
 Crift_s_hmd_radio_response_t
 Crift_s_hmd_report_t
 Crift_s_imu_calibration
 Crift_s_imu_config_info_t
 Crift_s_led
 Crift_s_lensing_model
 Crift_s_panel_info_t
 Crift_s_projection_pinhole
 Crift_s_radio_command
 Crift_s_radio_json_read_state
 Crift_s_radio_state
 Crift_s_system
 Crift_s_tracked_device
 Crift_s_tracker
 Crokid_fusion
 Crokid_hmd
 Crokid_usb_packed_vec
 Crokid_usb_pkt_combined
 Crokid_usb_pkt_sensor
 Crs_containerContainer to store and manage useful objects from the RealSense API
 Crs_ddevDevice-SLAM tracked RealSense device (T26X series)
 Crs_hdevHost-SLAM tracked RealSense device (any RealSense device with camera and IMU streams)
 Crs_prober
 Crs_sourceRealSense source of camera and IMU data
 Csample_auto_prober
 Csample_hmdA sample HMD device
 Csdl2_programCommon struct holding state for the GUI interface
 Csdl_comp_frameTracking frame state
 Csdl_compositorSplit out for convenience
 Csdl_programC base class for the SDL program
 Csdl_program_plusC++ version of the sdl_program struct, where you place C++ only things
 Csdl_swapchainSub-class of comp_swapchain, used to do OpenGL rendering
 CServerAn internal interface utilized by the lighthouse driver
 CSettings
 Csimula_builder
 Csimulated_device
 Csimulated_hmdA example HMD device
 Csimulated_prober
 Cslam_device
 Csteamvr_builder
 CSteamVRDriverControl
 CSteamVRDriverControlInput
 CSteamVRDriverControlOutput
 Csurvive_device
 Csurvive_system
 Csvr_display_distortion_polynomial_values
 Csvr_hmd
 Csvr_one_display_distortion
 Csvr_two_displays_distortion
 Ct_calibration_params
 Ct_calibration_status
 Ct_camera_calibrationEssential calibration data for a single camera, or single lens/sensor of a stereo camera
 Ct_camera_calibration_kb4_paramsParameters for T_DISTORTION_FISHEYE_KB4
 Ct_camera_calibration_kb4_params_floatFloating point parameters for T_DISTORTION_FISHEYE_KB4
 Ct_camera_calibration_rt14_paramsParameters for T_DISTORTION_OPENCV_RADTAN_14
 Ct_camera_calibration_rt5_paramsParameters for T_DISTORTION_OPENCV_RADTAN_5
 Ct_camera_calibration_rt8_paramsParameters for T_DISTORTION_OPENCV_RADTAN_8
 Ct_camera_calibration_rt8_params_floatFloating point parameters for T_DISTORTION_OPENCV_RT8, also including metric_radius
 Ct_camera_calibration_wmr_paramsParameters for T_DISTORTION_WMR
 Ct_camera_extra_infoInformation about image boundaries and camera orientations for all the cameras used in a tracking system
 Ct_camera_extra_info_one_viewInformation about image boundary and camera orientation for one view
 Ct_camera_model_paramsFloating point calibration data for a single calibrated camera
 Ct_convert_table
 Ct_hand_tracking_async
 Ct_hand_tracking_create_infoCreation info for the creation of a hand tracker
 Ct_hand_tracking_syncSynchronously processes frames and returns two hands
 Ct_hsv_filterAn xrt_frame_sink that splits the input based on hue
 Ct_hsv_filter_color
 Ct_hsv_filter_large_table
 Ct_hsv_filter_optimized_table
 Ct_hsv_filter_paramsParameters for constructing an HSV filter
 Ct_image_boundary_circleCircular image boundary
 Ct_imu_calibrationCombined IMU calibration data
 Ct_inertial_calibrationParameters for accelerometer and gyroscope calibration
 Ct_instanceMain "real" instance implementation
 Ct_slam_calibrationCalibration information necessary for SLAM tracking
 Ct_slam_camera_calibrationExtension to camera calibration for SLAM tracking
 Ct_slam_imu_calibrationExtension to IMU calibration for SLAM tracking
 Ct_slam_tracker_configSLAM tracker configuration
 Ct_stereo_camera_calibrationStereo camera calibration data to be given to trackers
 Ct_vit_bundleA bundle of VIT interface functions, used by the tracking interface loader
 Ctan_angles_transforms
 CTargetPoint
 Ctask
 CtextureHelper struct to make code easier to read
 Cthread
 Ctime_stateTime-keeping state structure
 Ctmp
 Ctracking_model
 Ctranslations55
 Cu_autoexpgainAuto exposure and gain (AEG) adjustment algorithm state
 Cu_builderThis helper struct makes it easier to implement the builder interface, but it also comes with a set of integration that may not be what all builders want
 Cu_builder_roles_helperThis small helper struct is for u_builder_roles_helper_open_system, lets a builder focus on opening devices rather then dealing with Monado structs like xrt_system_devices and the like
 Cu_builder_search_filterA filter to match the against
 Cu_builder_search_resultsResults of a search of devices
 Cu_cardboard_distortionBoth given and derived values needed for cardboard distortion
 Cu_cardboard_distortion_argumentsThese are the values that you need to supply to the distortion code to setup a u_cardboard_distortion properly
 Cu_cardboard_distortion_valuesValues to create a distortion mesh from cardboard values
 Cu_config_json
 Cu_deque_timepoint_ns
 Cu_device_simple_infoInfo to describe a very simple headset with diffractive lens optics
 Cu_extents_2dInfo to describe 2D extents of a device's screen
 Cu_finger_joint_setA set of joints in a single finger
 Cu_frame_times_widget
 Cu_hand_joint_default_setThe set of joints in the XR_HAND_JOINT_SET_DEFAULT_EXT
 Cu_hand_sim_finger
 Cu_hand_sim_hand
 Cu_hand_sim_metacarpal
 Cu_hand_sim_thumb
 Cu_hand_trackingMain struct drivers can use to implement hand and finger tracking
 Cu_hand_tracking_curl_valuesValues used for the XRT_HAND_TRACKING_MODEL_FINGERL_CURL model
 Cu_hand_tracking_finger_value
 Cu_hand_tracking_values
 Cu_hashmap_intA simple uint64_t key to a void pointer hashmap
 Cu_hashsetKind of bespoke hashset implementation, where the user is responsible for allocating and freeing the items themselves
 Cu_hashset_itemA embeddable hashset item, note that the string directly follows the u_hashset_item
 Cu_id_ringbuffer
 Cu_imu_sink_force_monotonicAn xrt_imu_sink splitter
 Cu_imu_sink_splitAn xrt_imu_sink splitter
 Cu_index_fifo
 Cu_joint_space_relationA space relation of a single joint
 Cu_live_stats_nsStruct to do live statistic tracking and printing of nano-seconds values, used by amongst other the compositor pacing code
 Cu_metrics_session_frame
 Cu_metrics_system_frame
 Cu_metrics_system_gpu_info
 Cu_metrics_system_present_info
 Cu_metrics_used
 Cu_native_images_debugA struct for debugging one or more native images
 Cu_ns_meshgrid_values
 Cu_ns_p2d_values
 Cu_pa_frame
 Cu_pacing_appThis application pacing helper is designed to schedule the rendering time of clients that submit frames to a compositor, which runs its own render loop that picks latest completed frames for that client
 Cu_pacing_app_factorySmall helper that creates a app pacers, allows timing information to be collected and controlled to a central place
 Cu_pacing_compositorCompositor pacing helper interface
 Cu_panotools_valuesValues to create a distortion mesh from panotools values
 Cu_pc_display_timing_configConfiguration for the "display-timing-aware" implementation of u_pacing_compositor
 Cu_pp_delegateHelper struct to hold a function pointer and data pointer
 Cu_pp_sink_stack_onlyStack only pretty printer sink, no need to free, must be inited before use
 Cu_process
 Cu_sessionThis is a helper struct that fully implements xrt_session object
 Cu_session_eventStruct used by u_session to queue up events
 Cu_sink_combinerAn xrt_frame_sink combiner, frames pushed to the left and right side will be combined into one xrt_frame with format XRT_STEREO_FORMAT_SBS
 Cu_sink_converterAn xrt_frame_sink that converts frames
 Cu_sink_debugAllows more safely to debug sink inputs and outputs
 Cu_sink_deinterleaverAn xrt_frame_sink that deinterleaves stereo frames
 Cu_sink_force_genlockAn xrt_frame_sink that takes two frames in any order, and pushes downstream in left-right order once it has two frames that are close enough together
 Cu_sink_queueAn xrt_frame_sink queue, any frames received will be pushed to the downstream consumer on the queue thread
 Cu_sink_queue_elem
 Cu_sink_quirkAn xrt_frame_sink that quirks frames
 Cu_sink_quirk_params
 Cu_sink_splitAn xrt_frame_sink splitter
 Cu_sink_stereo_sbs_to_slam_sbsAn xrt_frame_sink splitter
 Cu_spaceRepresenting a single space, can be several ones
 Cu_space_overseerDefault implementation of the xrt_space_overseer object
 Cu_string_list
 Cu_swapchain_debugAllows to debug image that is in GPU memory
 Cu_systemA helper to implement a xrt_system, takes care of multiplexing events to sessions
 Cu_system_devicesHelper struct to manage devices by implementing the xrt_system_devices
 Cu_system_devices_staticHelper struct to manage devices by implementing the xrt_system_devices, this has only static device roles
 Cu_system_session_pairA pair of xrt_session and xrt_session_event_sink that has been registered to this system, used to multiplex events to all sessions
 Cu_threading_stack
 Cu_tracked_imu_3dof
 Cu_var_buttonSimple pushable button
 Cu_var_comboCombo box information
 Cu_var_curveA single curve on a plot
 Cu_var_curve_pointA point on the curve, uses doubles like ImPlotPoint
 Cu_var_curvesA collection of curves to be plotted
 Cu_var_draggable_f32Draggable single precision float information
 Cu_var_draggable_u16Draggable usingned 16-bit integer information
 Cu_var_f32_arrUsed to plot an array for values
 Cu_var_histogram_f32Histogram based on single precision bars
 Cu_var_infoStruct that keeps all of the information about the variable, some of the UI state is kept on it
 Cu_var_root_infoStruct containing the information about a root object
 Cu_var_timingUsed to plot a graph of timing information
 Cu_vector_float
 Cu_vector_int
 Cu_vive_valuesValues to create a distortion mesh from Vive configuration values
 Cu_worker_groupA worker group where you submit tasks to
 Cu_worker_thread_poolA worker pool, can shared between multiple groups worker pool
 Culv2_device
 Culv5_device
 CUndistortCostFunctor
 Cv4l2_control_state
 Cv4l2_frame
 Cv4l2_fsA single open v4l2 capture device, starts its own thread and waits on it
 Cv4l2_source_descriptorDescriptor of a v4l2 source
 Cv4l2_state_want
 CVector2
 CVector3
 CVector4
 Cvf_frameFrame wrapping a GstSample/GstBuffer
 Cvf_fsA frame server operating on a video file
 Cvideo_selectA GUI scene that lets the user select a user device
 Cvive_configHeadset config
 Cvive_config_read_report
 Cvive_config_start_report
 Cvive_controller_battery_sample
 Cvive_controller_button_report
 Cvive_controller_button_sample
 Cvive_controller_configController config
 Cvive_controller_deviceA Vive Controller device, representing just a single controller
 Cvive_controller_haptic_pulse_report
 Cvive_controller_lighthouse_pulse
 Cvive_controller_lighthouse_pulse_report
 Cvive_controller_message
 Cvive_controller_poweroff_report
 Cvive_controller_report1
 Cvive_controller_report2
 Cvive_controller_touch_sample
 Cvive_controller_trigger_sample
 Cvive_device
 Cvive_firmware_version_report
 Cvive_headset_lighthouse_pulse
 Cvive_headset_lighthouse_pulse_report
 Cvive_headset_lighthouse_v2_pulse
 Cvive_headset_lighthouse_v2_pulse_raw_report
 Cvive_headset_lighthouse_v2_pulse_report
 Cvive_headset_mainboard_device_info_report
 Cvive_headset_power_report
 Cvive_imu_range_modes_report
 Cvive_imu_report
 Cvive_imu_sample
 Cvive_mainboard_status_report
 Cvive_sourceManages the data streaming state related to a vive headset
 Cvive_tracking_statusSummary of the status of various trackers
 Cvk_buffer
 Cvk_bundleA bundle of Vulkan functions and objects, used by both Compositor and Compositor client code
 Cvk_cmd_blit_image_infoArgument struct for vk_cmd_blit_image_locked
 Cvk_cmd_blit_images_side_by_side_infoArgument struct for vk_cmd_blit_images_side_by_side_locked
 Cvk_cmd_copy_image_infoArgument struct for vk_cmd_copy_image_locked
 Cvk_cmd_first_mip_imageA similar struct to VkImageSubresourceRange and VkImageSubresourceLayers expect for this it's implied that it's only the first mip-level and only one array layer used for the operation
 Cvk_cmd_poolSmall helper to manage lock around a command pool
 Cvk_descriptor_pool_infoArguments to vk_create_descriptor_pool function
 Cvk_device_featuresUsed to enable device features as a argument vk_create_device
 Cvk_displayProbed display
 Cvk_image
 Cvk_image_collection
 Cvk_image_readback_to_xf
 Cvk_image_readback_to_xf_pool
 Cvk_surface_info
 Cwatchman_imu_sample
 Cwatchman_touch_force
 Cwmr_bt_connectionA connection to a Bluetooth connected WMR Controller device
 Cwmr_bt_controllers_search_resultsResults from searching for host attached Bluetooth controllers
 Cwmr_camera
 Cwmr_camera_active_cmd
 Cwmr_camera_config
 Cwmr_camera_gain_cmd
 Cwmr_camera_open_config
 Cwmr_companion_search_resultsResults from searching for a companion device
 Cwmr_config_header
 Cwmr_controller_baseCommon base for all WMR controllers
 Cwmr_controller_config
 Cwmr_controller_connectionA connection for communicating with the controller
 Cwmr_controller_fw_cmd
 Cwmr_controller_fw_cmd_response
 Cwmr_controller_hp
 Cwmr_controller_hp_input
 Cwmr_controller_og
 Cwmr_controller_og_input
 Cwmr_distortion_3K
 Cwmr_distortion_6KT
 Cwmr_distortion_eye_config
 Cwmr_headset_descriptor
 Cwmr_headset_search_resultsResults from searching for a headset
 Cwmr_hmd
 Cwmr_hmd_config
 Cwmr_hmd_controller_connection
 Cwmr_hmd_distortion_params
 Cwmr_inertial_sensor_config
 Cwmr_inertial_sensors_config
 Cwmr_led_config
 Cwmr_sensor_transforms_config
 Cwmr_sourceHandles all the data sources from the WMR driver
 Cxreal_air_hmdPrivate struct for the xreal_air device
 Cxreal_air_parsed_calibration
 Cxreal_air_parsed_controlA control packet from the glasses in wire format
 Cxreal_air_parsed_sampleA parsed single gyroscope, accelerometer and magnetometer sample with their corresponding factors for conversion from raw data
 Cxreal_air_parsed_sensorOver the wire sensor packet from the glasses
 Cxreal_air_parsed_sensor_control_dataOver the wire sensor control data packet from the glasses
 Cxrt_api_requirementsA range of API versions supported
 Cxrt_application_infoNon-process-specific information provided by the application at instance create time
 Cxrt_auto_proberAn interface to be exposed by a device driver that should probe for the existence of its own device on the system, rather than using shared probers with vendor/product IDs, etc
 Cxrt_base_body_joint_set_meta
 Cxrt_begin_session_infoBegin Session information not known until clients have created an xrt-instance such as which extensions are enabled, view type, etc
 Cxrt_binding_input_pairA binding pair, going from a binding point to a device input
 Cxrt_binding_output_pairA binding pair, going from a binding point to a device output
 Cxrt_binding_profileA binding profile, has lists of binding pairs to goes from device in name to the device it hangs off on
 Cxrt_body_joint_location_fb
 Cxrt_body_joint_set
 Cxrt_body_joint_set_fb
 Cxrt_body_skeleton
 Cxrt_body_skeleton_fb
 Cxrt_body_skeleton_joint_fb
 Cxrt_builderSets up a collection of devices and builds a system, a setter upper
 Cxrt_builder_estimateA estimate from a setter upper about how many devices they can open
 Cxrt_colour_rgb_f32A 3 element colour with floating point channels
 Cxrt_colour_rgb_u8A 3 element colour with 8 bits per channel
 Cxrt_colour_rgba_f32A 4 element colour with floating point channels
 Cxrt_colour_rgba_u8A 4 element colour with 8 bits per channel
 Cxrt_compositorCommon compositor client interface/base
 Cxrt_compositor_d3d11Base class for a D3D11 client compositor
 Cxrt_compositor_d3d12Base class for a D3D12 client compositor
 Cxrt_compositor_fenceCompositor fence used for synchronization
 Cxrt_compositor_glBase class for an OpenGL (ES) client compositor
 Cxrt_compositor_infoCapabilities and information about the compositor and device together
 Cxrt_compositor_nativeMain compositor server interface
 Cxrt_compositor_semaphoreCompositor semaphore used for synchronization, needs to be as capable as a Vulkan pipeline semaphore
 Cxrt_compositor_swapchain
 Cxrt_compositor_vkBase class for a Vulkan client compositor
 Cxrt_d3d_requirementsGraphics usage requirements for D3D APIs
 Cxrt_deviceA single HMD or input device
 Cxrt_facial_base_expression_set_htc
 Cxrt_facial_expression_set
 Cxrt_facial_expression_set2_fb
 Cxrt_facial_eye_expression_set_htc
 Cxrt_facial_lip_expression_set_htc
 Cxrt_fovDescribes a projection matrix fov
 Cxrt_frameBasic frame data structure - holds a pointer to buffer
 Cxrt_frame_contextObject used to track all sinks and frame producers in a graph
 Cxrt_frame_nodeA interface object used for destroying a frame graph
 Cxrt_frame_sinkA object that is sent frames
 Cxrt_fsFrameserver that generates frames
 Cxrt_fs_capture_parametersControlling the camera capture parameters
 Cxrt_fs_mode
 Cxrt_hand_joint_setJoint set type used for hand tracking
 Cxrt_hand_joint_valueLocation of a single hand joint
 Cxrt_hand_masks_sampleMasks (bounding boxes) of different hands from current views
 Cxrt_hand_masks_sinkAn object to push xrt_hand_masks_sample to
 Cxrt_hmd_partsAll of the device components that deals with interfacing to a users head
 Cxrt_image_nativeA single image of a swapchain based on native buffer handles
 Cxrt_image_native_allocatorAllocator for system native images, in general you do not need to free the images as they will be consumed by importing them to the graphics API
 Cxrt_imu_sampleIMU Sample
 Cxrt_imu_sinkAn object to send IMU samples to
 Cxrt_inputA single named input, that sits on a xrt_device
 Cxrt_input_valueA union of all input types
 Cxrt_instanceThis interface acts as a root object for Monado
 Cxrt_instance_infoInformation provided by the application at instance create time
 Cxrt_layer_advanced_blend_dataAdvanced blend provides explicit control over source and destination blend factors, with separate controls for color and alpha
 Cxrt_layer_cube_dataAll the pure data values associated with a cube layer
 Cxrt_layer_cylinder_dataAll the pure data values associated with a cylinder layer
 Cxrt_layer_dataAll the pure data values associated with a composition layer
 Cxrt_layer_depth_dataAll the pure data values associated with a depth information attached to a layer
 Cxrt_layer_depth_test_data
 Cxrt_layer_equirect1_dataAll the pure data values associated with a equirect1 layer
 Cxrt_layer_equirect2_dataAll the pure data values associated with a equirect2 layer
 Cxrt_layer_frame_dataPer frame data for the layer submission calls, used in xrt_compositor::layer_begin
 Cxrt_layer_passthrough_dataAll the pure data values associated with a passthrough layer
 Cxrt_layer_projection_dataAll the pure data values associated with a projection layer
 Cxrt_layer_projection_depth_dataAll the pure data values associated with a projection layer with depth swapchain attached
 Cxrt_layer_projection_view_dataAll of the pure data values associated with a single view in a projection layer
 Cxrt_layer_quad_dataAll the pure data values associated with a quad layer
 Cxrt_limited_unique_idA limited unique id, it is only unique for the process it is in, so must not be used or synchronized across process boundaries
 Cxrt_luidTo transport LUIDs between different APIs
 Cxrt_matrix_2x2A tightly packed 2x2 matrix of floats
 Cxrt_matrix_3x3A tightly packed 3x3 matrix of floats
 Cxrt_matrix_3x3_f64A tightly packed 3x3 matrix of doubles
 Cxrt_matrix_4x4A tightly packed 4x4 matrix of floats
 Cxrt_matrix_4x4_f64A tightly packed 4x4 matrix of double
 Cxrt_multi_compositor_controlSpecial functions to control multi session/clients
 Cxrt_normalized_rectNormalized image rectangle, coordinates and size in 0
 Cxrt_offsetImage offset
 Cxrt_outputA single named output, that sits on a xrt_device
 Cxrt_output_force_feedback
 Cxrt_output_valueA union of all output types
 Cxrt_passthrough
 Cxrt_passthrough_create_infoPassthrough creation info
 Cxrt_passthrough_layer
 Cxrt_passthrough_layer_create_infoPassthrough layer creation info
 Cxrt_platform_info
 Cxrt_poseA pose composed of a position and orientation
 Cxrt_pose_samplePose sample
 Cxrt_pose_sinkAn object to send pairs of timestamps and poses to
 Cxrt_proberThe main prober that probes and manages found but not opened HMD devices that are connected to the system
 Cxrt_prober_deviceA probed device, may or may not be opened
 Cxrt_prober_entryEntry for a single device
 Cxrt_prober_entry_listsMain root of all of the probing device
 Cxrt_quatA quaternion with single floats
 Cxrt_rectImage rectangle
 Cxrt_rect_f32Image rectangle
 Cxrt_referenceA base class for reference counted objects
 Cxrt_relation_chainA chain of space relations and their associated validity flags
 Cxrt_sessionThe XRT representation of XrSession, this object does not have all of the functionality of a session, most are partitioned to the session level compositor object
 Cxrt_session_eventUnion of all session events, used to return multiple events through one call
 Cxrt_session_event_display_refresh_rate_changeDisplay refresh rate of compositor changed event, type XRT_SESSION_EVENT_DISPLAY_REFRESH_RATE_CHANGE
 Cxrt_session_event_loss_pendingLoss pending event, XRT_SESSION_EVENT_LOSS_PENDING
 Cxrt_session_event_lostSession lost event, type XRT_SESSION_EVENT_LOST
 Cxrt_session_event_overlayPrimary session state changes event, type XRT_SESSION_EVENT_OVERLAY_CHANGE
 Cxrt_session_event_passthrough_state_changePassthrough state change event
 Cxrt_session_event_perf_changePerformance metrics change event
 Cxrt_session_event_reference_space_change_pendingEvent that tells the application that the reference space has a pending change to it, maps to XrEventDataReferenceSpaceChangePending, type XRT_SESSION_EVENT_REFERENCE_SPACE_CHANGE_PENDING
 Cxrt_session_event_sinkUsed internally from producers of events to push events into session, some sinks might multiplex events to multiple sessions
 Cxrt_session_event_state_changeSession state changes event, type XRT_SESSION_EVENT_STATE_CHANGE
 Cxrt_session_event_visibility_mask_changeVisibility mask changed event
 Cxrt_session_infoSession information, mostly overlay extension data
 Cxrt_settings_trackingHolding enough information to recreate a tracking pipeline
 Cxrt_shmem_handle_tGeneric typedef for platform-specific shared memory handle
 Cxrt_sizeImage size
 Cxrt_slam_sinksContainer of pointers to sinks that could be used for a SLAM system
 Cxrt_spaceA space very similar to a OpenXR XrSpace but not a full one-to-one mapping, but used to power XrSpace
 Cxrt_space_overseerObject that oversees and manages spaces, one created for each XR system
 Cxrt_space_relationA relation with two spaces, includes velocity and acceleration
 Cxrt_sub_imageSpecifies a sub-image in a layer
 Cxrt_swapchainCommon swapchain interface/base
 Cxrt_swapchain_create_infoSwapchain creation info
 Cxrt_swapchain_create_propertiesStruct used to negotiate properties of a swapchain that is created outside of the compositor
 Cxrt_swapchain_d3d11Base class for a D3D11 client swapchain
 Cxrt_swapchain_d3d12Base class for a D3D12 client swapchain
 Cxrt_swapchain_glBase class for an OpenGL (ES) client swapchain
 Cxrt_swapchain_nativeBase class for a swapchain that exposes a native buffer handle to be imported into a client API
 Cxrt_swapchain_vkBase class for a Vulkan client swapchain
 Cxrt_systemA system is a collection of devices, policies and optionally a compositor that is organised into a chosive group that is usable by one user, most of the functionality of a system is exposed through other objects, this is the main object
 Cxrt_system_compositorThe system compositor handles composition for a system
 Cxrt_system_compositor_infoCapabilities and information about the system compositor (and its wrapped native compositor, if any), and device together
 Cxrt_system_devicesA collection of xrt_device, and an interface for identifying the roles they have been assigned
 Cxrt_system_propertiesProperties provided by the system
 Cxrt_system_rolesData associating a device index (in xrt_system_devices::xdevs) with a given "role" for dynamic role switching
 Cxrt_tracked_psmvA single tracked PS Move controller, camera and ball are not synced
 Cxrt_tracked_psvrA tracked PSVR headset
 Cxrt_tracked_slamAn adapter that wraps an external SLAM tracker to provide SLAM tracking
 Cxrt_tracking_factoryTracking factory
 Cxrt_tracking_originA tracking system or device origin
 Cxrt_tracking_override
 Cxrt_tracking_sampleIMU Sample
 Cxrt_uuidTo transport UUIDs between different APIs
 Cxrt_uv_tripletRepresents a uv triplet for distortion, basically just three xrt_vec2
 Cxrt_vec1A 1 element vector with single floats
 Cxrt_vec2A 2 element vector with single floats
 Cxrt_vec2_i32A 2 element vector with 32 bit integers
 Cxrt_vec3A 3 element vector with single floats
 Cxrt_vec3_f64A 3 element vector with single doubles
 Cxrt_vec3_i32A 3 element vector with 32 bit integers
 Cxrt_viewA per-lens/display view information
 Cxrt_visibility_maskVisibility mask helper, the indices and vertices are tightly packed after this struct