|
| template<typename TArray , typename TValue > |
| bool | Contains (const TArray &array, const TValue &value) |
| |
| std::vector< XrExtensionProperties > | EnumerateInstanceExtensionProperties (const char *layerName=nullptr) |
| |
| std::vector< XrViewConfigurationType > | EnumerateViewConfigurations (XrInstance instance, XrSystemId systemId) |
| |
| std::vector< XrViewConfigurationView > | EnumerateViewConfigurationViews (XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType) |
| |
| std::vector< XrEnvironmentBlendMode > | EnumerateEnvironmentBlendModes (XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigType) |
| |
| XrEnvironmentBlendMode | PickEnvironmentBlendMode (const std::vector< XrEnvironmentBlendMode > &systemSupportedBlendModes, const std::vector< XrEnvironmentBlendMode > &appSupportedBlendModes) |
| |
| std::vector< int64_t > | EnumerateSwapchainFormats (XrSession session) |
| |
| template<typename TSystemPixelFormat , typename TAppPixelFormat > |
| TAppPixelFormat | PickSwapchainFormat (const std::vector< TSystemPixelFormat > &systemSupportedFormats, const std::vector< TAppPixelFormat > &appSupportedFormats) |
| |
| std::vector< XrReferenceSpaceType > | EnumerateReferenceSpaceTypes (XrSession session) |
| |
| std::set< std::string > | QueryActionLocalizedName (XrSession session, XrAction action, XrInputSourceLocalizedNameFlags flags) |
| |
| ExtensionContext | CreateExtensionContext (const std::vector< const char * > &requestedExtensions) |
| |
| std::vector< XrSceneComputeFeatureMSFT > | EnumerateSceneComputeFeatures (XrInstance instance, XrSystemId systemId) |
| |
| xr::SceneObserverHandle | CreateSceneObserver (XrSession session) |
| |
| xr::SceneHandle | CreateScene (XrSceneObserverMSFT sceneObserver) |
| |
| void | ComputeNewScene (XrSceneObserverMSFT sceneObserver, const std::vector< XrSceneComputeFeatureMSFT > &requestedFeatures, const SceneBounds &bounds, XrSceneComputeConsistencyMSFT consistency=XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFT, std::optional< XrMeshComputeLodMSFT > visualMeshLevelOfDetail={}) |
| |
| void | ReadMeshBuffers (XrSceneMSFT scene, uint64_t meshBufferId, std::vector< XrVector3f > &vertexBuffer, std::vector< uint32_t > &indexBuffer) |
| |
| void | ReadMeshBuffers (XrSceneMSFT scene, uint64_t meshBufferId, std::vector< XrVector3f > &vertexBuffer, std::vector< uint16_t > &indexBuffer) |
| |
| XrPath | StringToPath (XrInstance instance, const char *str) |
| |
| std::string | PathToString (XrInstance instance, XrPath path) |
| |
| std::vector< XrPath > | StringsToPaths (XrInstance instance, const std::vector< std::string > &strings) |
| |
| void | SetApplicationInfo (XrApplicationInfo &appInfo, const xr::NameVersion &appNameVersion, const xr::NameVersion &engineNameVersion, XrVersion apiVersion=XR_CURRENT_API_VERSION) |
| |
| template<typename T > |
| void | SetEnabledExtensions (XrInstanceCreateInfo &info, T &extensions) |
| |
| template<typename T > |
| void | SetEnabledExtensions (XrInstanceCreateInfo &info, T &&extensions)=delete |
| |
| template<typename XrStruct , typename XrExtension > |
| void | InsertExtensionStruct (XrStruct &xrStruct, XrExtension &xrExtension) |
| |
| template<typename XrEventData > |
| const XrEventData * | event_cast (const XrEventDataBuffer *eventData)=delete |
| |
| | DEFINE_EVENT_TYPE (XrEventDataEventsLost, XR_TYPE_EVENT_DATA_EVENTS_LOST) |
| |
| | DEFINE_EVENT_TYPE (XrEventDataInteractionProfileChanged, XR_TYPE_EVENT_DATA_INTERACTION_PROFILE_CHANGED) |
| |
| | DEFINE_EVENT_TYPE (XrEventDataInstanceLossPending, XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING) |
| |
| | DEFINE_EVENT_TYPE (XrEventDataReferenceSpaceChangePending, XR_TYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING) |
| |
| | DEFINE_EVENT_TYPE (XrEventDataPerfSettingsEXT, XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT) |
| |
| | DEFINE_EVENT_TYPE (XrEventDataSessionStateChanged, XR_TYPE_EVENT_DATA_SESSION_STATE_CHANGED) |
| |
| | DEFINE_EVENT_TYPE (XrEventDataVisibilityMaskChangedKHR, XR_TYPE_EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR) |
| |
| | MAKE_TO_STRING_FUNCS (XrReferenceSpaceType) |
| |
| | MAKE_TO_STRING_FUNCS (XrViewConfigurationType) |
| |
| | MAKE_TO_STRING_FUNCS (XrEnvironmentBlendMode) |
| |
| | MAKE_TO_STRING_FUNCS (XrSessionState) |
| |
| | MAKE_TO_STRING_FUNCS (XrResult) |
| |
| | MAKE_TO_STRING_FUNCS (XrStructureType) |
| |
| | MAKE_TO_STRING_FUNCS (XrFormFactor) |
| |
| | MAKE_TO_STRING_FUNCS (XrEyeVisibility) |
| |
| | MAKE_TO_STRING_FUNCS (XrObjectType) |
| |
| | MAKE_TO_STRING_FUNCS (XrActionType) |
| |
| | MAKE_TO_STRING_FUNCS (XrHandEXT) |
| |
| | MAKE_TO_STRING_FUNCS (XrHandPoseTypeMSFT) |
| |
| | MAKE_TO_CSTRING_FUNC (XrHandJointEXT) |
| |
| | MAKE_TO_STRING_FUNCS (XrVisibilityMaskTypeKHR) |
| |
| | MAKE_TO_STRING_FUNCS (XrReprojectionModeMSFT) |
| |
| | MAKE_TO_STRING_FUNCS (XrSceneComponentTypeMSFT) |
| |
| | MAKE_TO_STRING_FUNCS (XrSceneComputeStateMSFT) |
| |
| | MAKE_TO_STRING_FUNCS (XrSceneComputeFeatureMSFT) |
| |
| | MAKE_TO_STRING_FUNCS (XrSpatialGraphNodeTypeMSFT) |
| |
| | MAKE_TO_STRING_FUNCS (XrSceneComputeConsistencyMSFT) |
| |
| | MAKE_TO_STRING_FUNCS (XrMeshComputeLodMSFT) |
| |
| constexpr bool | IsPrimaryViewConfigurationType (XrViewConfigurationType type) |
| |
| ViewProperties | CreateViewProperties (XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, const std::vector< XrEnvironmentBlendMode > &appSupportedEnvironmentBlendModes) |
| |
| ViewConfigurationState | CreateViewConfigurationState (XrViewConfigurationType viewConfigurationType, XrInstance instance, XrSystemId systemId) |
| |
| bool | IsRecommendedSwapchainSizeChanged (const std::vector< XrViewConfigurationView > &oldConfigs, const std::vector< XrViewConfigurationView > &newConfigs) |
| |
The xr::DispatchTable struct contains all available PFN pointers to xr functions including those in all extensions. The application should call dispatchTable.Initialize() once creating a new XrInstance to initialize all function pointers. The application should reset the dispatch table by = {} when destroying the instance handle.
#define ENABLE_GLOBAL_XR_DISPATCH_TABLE before #include "XrDispatchTable.h" will add the xrFunctions to the global namespace, so that the application can simply call xr functions as if they are normal C functions. Extension functions can also be used as C functions, e.g. xrCreateSpatialAnchorMSFT();