// @lint-ignore-every LICENSELINT // Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include #if PLATFORM_SUPPORTS_PRAGMA_PACK #pragma pack(push, 8) #endif #if PLATFORM_WINDOWS #include "Windows/AllowWindowsPlatformTypes.h" #endif #pragma warning(push) #pragma warning(disable : 4201) // nonstandard extension used: nameless struct/union //#pragma warning(disable:4668) // 'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directives' #define OVRP_EXPORT typedef #include "OVR_Plugin.h" #include "OVR_Plugin_Insight.h" #include "OVR_Plugin_MixedReality.h" #include "OVR_Plugin_Media.h" #undef OVRP_EXPORT #pragma warning(pop) #if PLATFORM_WINDOWS #include "Windows/HideWindowsPlatformTypes.h" #endif #if PLATFORM_SUPPORTS_PRAGMA_PACK #pragma pack(pop) #endif #if PLATFORM_WINDOWS #include "Windows/WindowsHWrapper.h" #endif DECLARE_LOG_CATEGORY_EXTERN(LogOculusPluginWrapper, Log, All); #define OCULUS_DECLARE_ENTRY_POINT(Func) ovrp_##Func* Func struct OculusPluginWrapper { OculusPluginWrapper() { Reset(); } void Reset() { memset(this, 0, sizeof(OculusPluginWrapper)); ovrpHeaderVersion.MajorVersion = OVRP_MAJOR_VERSION; ovrpHeaderVersion.MinorVersion = OVRP_MINOR_VERSION; ovrpHeaderVersion.PatchVersion = OVRP_PATCH_VERSION; } bool IsInitialized() const { return Initialized; } // OVR_Plugin.h OCULUS_DECLARE_ENTRY_POINT(PreInitialize5); OCULUS_DECLARE_ENTRY_POINT(GetInitialized); OCULUS_DECLARE_ENTRY_POINT(Initialize7); OCULUS_DECLARE_ENTRY_POINT(Shutdown2); OCULUS_DECLARE_ENTRY_POINT(SetLogCallback2); OCULUS_DECLARE_ENTRY_POINT(GetVersion2); OCULUS_DECLARE_ENTRY_POINT(GetNativeSDKVersion2); OCULUS_DECLARE_ENTRY_POINT(GetNativeSDKPointer2); OCULUS_DECLARE_ENTRY_POINT(GetDisplayAdapterId2); OCULUS_DECLARE_ENTRY_POINT(GetAudioOutId2); OCULUS_DECLARE_ENTRY_POINT(GetAudioOutDeviceId2); OCULUS_DECLARE_ENTRY_POINT(GetAudioInId2); OCULUS_DECLARE_ENTRY_POINT(GetAudioInDeviceId2); OCULUS_DECLARE_ENTRY_POINT(GetInstanceExtensionsVk); OCULUS_DECLARE_ENTRY_POINT(GetDeviceExtensionsVk); OCULUS_DECLARE_ENTRY_POINT(SetupDistortionWindow3); OCULUS_DECLARE_ENTRY_POINT(DestroyDistortionWindow2); OCULUS_DECLARE_ENTRY_POINT(GetDominantHand); OCULUS_DECLARE_ENTRY_POINT(SetRemoteHandedness); OCULUS_DECLARE_ENTRY_POINT(SetColorScaleAndOffset); OCULUS_DECLARE_ENTRY_POINT(SetupLayer); OCULUS_DECLARE_ENTRY_POINT(SetupLayerDepth); OCULUS_DECLARE_ENTRY_POINT(SetEyeFovPremultipliedAlphaMode); OCULUS_DECLARE_ENTRY_POINT(GetEyeFovLayerId); OCULUS_DECLARE_ENTRY_POINT(GetLayerTextureStageCount); OCULUS_DECLARE_ENTRY_POINT(GetLayerTexture2); OCULUS_DECLARE_ENTRY_POINT(GetLayerTextureFoveation); OCULUS_DECLARE_ENTRY_POINT(GetLayerTextureSpaceWarp); OCULUS_DECLARE_ENTRY_POINT(CalculateEyeLayerDesc3); OCULUS_DECLARE_ENTRY_POINT(GetLayerAndroidSurfaceObject); OCULUS_DECLARE_ENTRY_POINT(GetLayerOcclusionMesh); OCULUS_DECLARE_ENTRY_POINT(DestroyLayer); OCULUS_DECLARE_ENTRY_POINT(CalculateLayerDesc); OCULUS_DECLARE_ENTRY_POINT(CalculateEyeLayerDesc2); OCULUS_DECLARE_ENTRY_POINT(CalculateEyePreviewRect); OCULUS_DECLARE_ENTRY_POINT(SetupMirrorTexture2); OCULUS_DECLARE_ENTRY_POINT(DestroyMirrorTexture2); OCULUS_DECLARE_ENTRY_POINT(GetAdaptiveGpuPerformanceScale2); OCULUS_DECLARE_ENTRY_POINT(GetAppCpuStartToGpuEndTime2); OCULUS_DECLARE_ENTRY_POINT(GetEyePixelsPerTanAngleAtCenter2); OCULUS_DECLARE_ENTRY_POINT(GetHmdToEyeOffset2); OCULUS_DECLARE_ENTRY_POINT(Update3); OCULUS_DECLARE_ENTRY_POINT(WaitToBeginFrame); OCULUS_DECLARE_ENTRY_POINT(BeginFrame4); OCULUS_DECLARE_ENTRY_POINT(UpdateFoveation); OCULUS_DECLARE_ENTRY_POINT(EndFrame4); OCULUS_DECLARE_ENTRY_POINT(GetTrackingOrientationSupported2); OCULUS_DECLARE_ENTRY_POINT(GetTrackingOrientationEnabled2); OCULUS_DECLARE_ENTRY_POINT(SetTrackingOrientationEnabled2); OCULUS_DECLARE_ENTRY_POINT(GetTrackingPositionSupported2); OCULUS_DECLARE_ENTRY_POINT(GetTrackingPositionEnabled2); OCULUS_DECLARE_ENTRY_POINT(SetTrackingPositionEnabled2); OCULUS_DECLARE_ENTRY_POINT(GetTrackingIPDEnabled2); OCULUS_DECLARE_ENTRY_POINT(SetTrackingIPDEnabled2); OCULUS_DECLARE_ENTRY_POINT(GetTrackingCalibratedOrigin2); OCULUS_DECLARE_ENTRY_POINT(SetTrackingCalibratedOrigin2); OCULUS_DECLARE_ENTRY_POINT(GetTrackingOriginType2); OCULUS_DECLARE_ENTRY_POINT(SetTrackingOriginType2); OCULUS_DECLARE_ENTRY_POINT(RecenterTrackingOrigin2); OCULUS_DECLARE_ENTRY_POINT(GetNodePresent2); OCULUS_DECLARE_ENTRY_POINT(GetNodeOrientationTracked2); OCULUS_DECLARE_ENTRY_POINT(GetNodeOrientationValid); OCULUS_DECLARE_ENTRY_POINT(GetNodePositionTracked2); OCULUS_DECLARE_ENTRY_POINT(GetNodePositionValid); OCULUS_DECLARE_ENTRY_POINT(SetNodePositionTracked2); OCULUS_DECLARE_ENTRY_POINT(GetNodePoseState3); OCULUS_DECLARE_ENTRY_POINT(GetNodePoseStateRaw); OCULUS_DECLARE_ENTRY_POINT(GetNodeFrustum2); OCULUS_DECLARE_ENTRY_POINT(SetHeadPoseModifier); OCULUS_DECLARE_ENTRY_POINT(GetHeadPoseModifier); OCULUS_DECLARE_ENTRY_POINT(GetControllerState4); OCULUS_DECLARE_ENTRY_POINT(GetControllerState5); OCULUS_DECLARE_ENTRY_POINT(GetControllerState6); OCULUS_DECLARE_ENTRY_POINT(GetActiveController2); OCULUS_DECLARE_ENTRY_POINT(GetConnectedControllers2); OCULUS_DECLARE_ENTRY_POINT(SetControllerVibration2); OCULUS_DECLARE_ENTRY_POINT(SetControllerLocalizedVibration); OCULUS_DECLARE_ENTRY_POINT(SetControllerHapticsAmplitudeEnvelope); OCULUS_DECLARE_ENTRY_POINT(SetControllerHapticsPcm); OCULUS_DECLARE_ENTRY_POINT(GetControllerHapticsDesc2); OCULUS_DECLARE_ENTRY_POINT(GetControllerHapticsState2); OCULUS_DECLARE_ENTRY_POINT(GetControllerSampleRateHz); OCULUS_DECLARE_ENTRY_POINT(SetControllerHaptics2); OCULUS_DECLARE_ENTRY_POINT(SetSuggestedCpuPerformanceLevel); OCULUS_DECLARE_ENTRY_POINT(GetSuggestedCpuPerformanceLevel); OCULUS_DECLARE_ENTRY_POINT(SetSuggestedGpuPerformanceLevel); OCULUS_DECLARE_ENTRY_POINT(GetSuggestedGpuPerformanceLevel); OCULUS_DECLARE_ENTRY_POINT(GetAppCPUPriority2); OCULUS_DECLARE_ENTRY_POINT(SetAppCPUPriority2); OCULUS_DECLARE_ENTRY_POINT(GetSystemPowerSavingMode2); OCULUS_DECLARE_ENTRY_POINT(GetSystemDisplayFrequency2); OCULUS_DECLARE_ENTRY_POINT(GetSystemDisplayAvailableFrequencies); OCULUS_DECLARE_ENTRY_POINT(SetSystemDisplayFrequency); OCULUS_DECLARE_ENTRY_POINT(GetSystemVSyncCount2); OCULUS_DECLARE_ENTRY_POINT(SetSystemVSyncCount2); OCULUS_DECLARE_ENTRY_POINT(GetSystemProductName2); OCULUS_DECLARE_ENTRY_POINT(GetSystemRegion2); OCULUS_DECLARE_ENTRY_POINT(ShowSystemUI2); OCULUS_DECLARE_ENTRY_POINT(GetAppHasVrFocus2); OCULUS_DECLARE_ENTRY_POINT(GetAppHasInputFocus); OCULUS_DECLARE_ENTRY_POINT(GetAppHasSystemOverlayPresent); OCULUS_DECLARE_ENTRY_POINT(GetAppShouldQuit2); OCULUS_DECLARE_ENTRY_POINT(GetAppShouldRecenter2); OCULUS_DECLARE_ENTRY_POINT(GetAppShouldRecreateDistortionWindow2); OCULUS_DECLARE_ENTRY_POINT(GetAppLatencyTimings2); OCULUS_DECLARE_ENTRY_POINT(SetAppEngineInfo2); OCULUS_DECLARE_ENTRY_POINT(GetUserPresent2); OCULUS_DECLARE_ENTRY_POINT(GetUserIPD2); OCULUS_DECLARE_ENTRY_POINT(SetUserIPD2); OCULUS_DECLARE_ENTRY_POINT(GetUserEyeHeight2); OCULUS_DECLARE_ENTRY_POINT(SetUserEyeHeight2); OCULUS_DECLARE_ENTRY_POINT(GetUserNeckEyeDistance2); OCULUS_DECLARE_ENTRY_POINT(SetUserNeckEyeDistance2); OCULUS_DECLARE_ENTRY_POINT(SetupDisplayObjects2); OCULUS_DECLARE_ENTRY_POINT(GetSystemMultiViewSupported2); OCULUS_DECLARE_ENTRY_POINT(GetEyeTextureArraySupported2); OCULUS_DECLARE_ENTRY_POINT(GetBoundaryConfigured2); OCULUS_DECLARE_ENTRY_POINT(GetDepthCompositingSupported); OCULUS_DECLARE_ENTRY_POINT(TestBoundaryNode2); OCULUS_DECLARE_ENTRY_POINT(TestBoundaryPoint2); OCULUS_DECLARE_ENTRY_POINT(GetBoundaryGeometry3); OCULUS_DECLARE_ENTRY_POINT(GetBoundaryDimensions2); OCULUS_DECLARE_ENTRY_POINT(GetBoundaryVisible2); OCULUS_DECLARE_ENTRY_POINT(SetBoundaryVisible2); OCULUS_DECLARE_ENTRY_POINT(GetSystemHeadsetType2); OCULUS_DECLARE_ENTRY_POINT(GetAppPerfStats2); OCULUS_DECLARE_ENTRY_POINT(ResetAppPerfStats2); OCULUS_DECLARE_ENTRY_POINT(GetAppFramerate2); OCULUS_DECLARE_ENTRY_POINT(IsPerfMetricsSupported); OCULUS_DECLARE_ENTRY_POINT(GetPerfMetricsFloat); OCULUS_DECLARE_ENTRY_POINT(GetPerfMetricsInt); OCULUS_DECLARE_ENTRY_POINT(SetHandNodePoseStateLatency); OCULUS_DECLARE_ENTRY_POINT(GetHandNodePoseStateLatency); OCULUS_DECLARE_ENTRY_POINT(GetSystemRecommendedMSAALevel2); OCULUS_DECLARE_ENTRY_POINT(SetInhibitSystemUX2); OCULUS_DECLARE_ENTRY_POINT(GetTiledMultiResSupported); OCULUS_DECLARE_ENTRY_POINT(GetTiledMultiResLevel); OCULUS_DECLARE_ENTRY_POINT(SetTiledMultiResLevel); OCULUS_DECLARE_ENTRY_POINT(GetTiledMultiResDynamic); OCULUS_DECLARE_ENTRY_POINT(SetTiledMultiResDynamic); OCULUS_DECLARE_ENTRY_POINT(GetFoveationEyeTrackedSupported); OCULUS_DECLARE_ENTRY_POINT(GetFoveationEyeTracked); OCULUS_DECLARE_ENTRY_POINT(SetFoveationEyeTracked); OCULUS_DECLARE_ENTRY_POINT(GetFoveationEyeTrackedCenter); OCULUS_DECLARE_ENTRY_POINT(GetGPUUtilSupported); OCULUS_DECLARE_ENTRY_POINT(GetGPUUtilLevel); OCULUS_DECLARE_ENTRY_POINT(SetThreadPerformance); OCULUS_DECLARE_ENTRY_POINT(AutoThreadScheduling); OCULUS_DECLARE_ENTRY_POINT(GetGPUFrameTime); OCULUS_DECLARE_ENTRY_POINT(GetViewportStencil); OCULUS_DECLARE_ENTRY_POINT(SetDeveloperTelemetryConsent); OCULUS_DECLARE_ENTRY_POINT(SendEvent); OCULUS_DECLARE_ENTRY_POINT(SendEvent2); OCULUS_DECLARE_ENTRY_POINT(AddCustomMetadata); OCULUS_DECLARE_ENTRY_POINT(SetDeveloperMode); OCULUS_DECLARE_ENTRY_POINT(GetCurrentTrackingTransformPose); OCULUS_DECLARE_ENTRY_POINT(GetTrackingTransformRawPose); OCULUS_DECLARE_ENTRY_POINT(GetTrackingTransformRelativePose); OCULUS_DECLARE_ENTRY_POINT(GetTimeInSeconds); //OCULUS_DECLARE_ENTRY_POINT(GetPTWNear); OCULUS_DECLARE_ENTRY_POINT(GetASWVelocityScale); OCULUS_DECLARE_ENTRY_POINT(GetASWDepthScale); OCULUS_DECLARE_ENTRY_POINT(GetASWAdaptiveMode); OCULUS_DECLARE_ENTRY_POINT(SetASWAdaptiveMode); OCULUS_DECLARE_ENTRY_POINT(IsRequestingASWData); OCULUS_DECLARE_ENTRY_POINT(GetPredictedDisplayTime); OCULUS_DECLARE_ENTRY_POINT(GetHandTrackingEnabled); OCULUS_DECLARE_ENTRY_POINT(GetHandState); OCULUS_DECLARE_ENTRY_POINT(GetHandState2); OCULUS_DECLARE_ENTRY_POINT(GetSkeleton2); OCULUS_DECLARE_ENTRY_POINT(GetMesh); OCULUS_DECLARE_ENTRY_POINT(GetLocalTrackingSpaceRecenterCount); OCULUS_DECLARE_ENTRY_POINT(GetSystemHmd3DofModeEnabled); OCULUS_DECLARE_ENTRY_POINT(SetClientColorDesc); OCULUS_DECLARE_ENTRY_POINT(GetHmdColorDesc); OCULUS_DECLARE_ENTRY_POINT(PollEvent); OCULUS_DECLARE_ENTRY_POINT(GetNativeXrApiType); OCULUS_DECLARE_ENTRY_POINT(GetLocalDimmingSupported); OCULUS_DECLARE_ENTRY_POINT(SetLocalDimming); OCULUS_DECLARE_ENTRY_POINT(GetCurrentInteractionProfile); OCULUS_DECLARE_ENTRY_POINT(GetLayerRecommendedResolution); OCULUS_DECLARE_ENTRY_POINT(IsLayerShapeSupported); OCULUS_DECLARE_ENTRY_POINT(SetEyeBufferSharpenType); OCULUS_DECLARE_ENTRY_POINT(InitializeEnvironmentDepth); OCULUS_DECLARE_ENTRY_POINT(DestroyEnvironmentDepth); OCULUS_DECLARE_ENTRY_POINT(GetEnvironmentDepthTextureDesc); OCULUS_DECLARE_ENTRY_POINT(GetEnvironmentDepthTextureStageCount); OCULUS_DECLARE_ENTRY_POINT(GetEnvironmentDepthTexture); OCULUS_DECLARE_ENTRY_POINT(SetEnvironmentDepthHandRemoval); OCULUS_DECLARE_ENTRY_POINT(StartEnvironmentDepth); OCULUS_DECLARE_ENTRY_POINT(StopEnvironmentDepth); OCULUS_DECLARE_ENTRY_POINT(GetEnvironmentDepthFrameDesc); #ifndef OVRPLUGIN_JNI_LIB_EXCLUDED OCULUS_DECLARE_ENTRY_POINT(GetSystemVolume2); OCULUS_DECLARE_ENTRY_POINT(GetSystemHeadphonesPresent2); #endif // Anchors OCULUS_DECLARE_ENTRY_POINT(LocateSpace); OCULUS_DECLARE_ENTRY_POINT(LocateSpace2); OCULUS_DECLARE_ENTRY_POINT(CreateSpatialAnchor); OCULUS_DECLARE_ENTRY_POINT(DestroySpace); OCULUS_DECLARE_ENTRY_POINT(SetSpaceComponentStatus); OCULUS_DECLARE_ENTRY_POINT(GetSpaceComponentStatus); OCULUS_DECLARE_ENTRY_POINT(EnumerateSpaceSupportedComponents); OCULUS_DECLARE_ENTRY_POINT(QuerySpaces); OCULUS_DECLARE_ENTRY_POINT(RetrieveSpaceQueryResults); OCULUS_DECLARE_ENTRY_POINT(SaveSpace); OCULUS_DECLARE_ENTRY_POINT(EraseSpace); OCULUS_DECLARE_ENTRY_POINT(GetSpaceUuid); OCULUS_DECLARE_ENTRY_POINT(SaveSpaceList); OCULUS_DECLARE_ENTRY_POINT(ShareSpaces); OCULUS_DECLARE_ENTRY_POINT(CreateSpaceUser); OCULUS_DECLARE_ENTRY_POINT(DestroySpaceUser); // Scene OCULUS_DECLARE_ENTRY_POINT(GetSpaceContainer); OCULUS_DECLARE_ENTRY_POINT(GetSpaceBoundingBox2D); OCULUS_DECLARE_ENTRY_POINT(GetSpaceBoundingBox3D); OCULUS_DECLARE_ENTRY_POINT(GetSpaceSemanticLabels); OCULUS_DECLARE_ENTRY_POINT(GetSpaceRoomLayout); OCULUS_DECLARE_ENTRY_POINT(GetSpaceBoundary2D); OCULUS_DECLARE_ENTRY_POINT(RequestSceneCapture); OCULUS_DECLARE_ENTRY_POINT(GetSpaceTriangleMesh); // Local Groups // MovementSDK OCULUS_DECLARE_ENTRY_POINT(GetBodyTrackingEnabled); OCULUS_DECLARE_ENTRY_POINT(GetBodyTrackingSupported); OCULUS_DECLARE_ENTRY_POINT(StopBodyTracking); OCULUS_DECLARE_ENTRY_POINT(GetBodyState4); OCULUS_DECLARE_ENTRY_POINT(GetFullBodyTrackingEnabled); OCULUS_DECLARE_ENTRY_POINT(StartBodyTracking2); OCULUS_DECLARE_ENTRY_POINT(RequestBodyTrackingFidelity); OCULUS_DECLARE_ENTRY_POINT(ResetBodyTrackingCalibration); OCULUS_DECLARE_ENTRY_POINT(SuggestBodyTrackingCalibrationOverride); OCULUS_DECLARE_ENTRY_POINT(GetFaceTracking2Enabled); OCULUS_DECLARE_ENTRY_POINT(GetFaceTracking2Supported); OCULUS_DECLARE_ENTRY_POINT(GetFaceState2); OCULUS_DECLARE_ENTRY_POINT(StartFaceTracking2); OCULUS_DECLARE_ENTRY_POINT(StopFaceTracking2); OCULUS_DECLARE_ENTRY_POINT(GetEyeTrackingEnabled); OCULUS_DECLARE_ENTRY_POINT(GetEyeTrackingSupported); OCULUS_DECLARE_ENTRY_POINT(GetEyeGazesState); OCULUS_DECLARE_ENTRY_POINT(StartEyeTracking); OCULUS_DECLARE_ENTRY_POINT(StopEyeTracking); // QPL OCULUS_DECLARE_ENTRY_POINT(QplMarkerStart); OCULUS_DECLARE_ENTRY_POINT(QplMarkerEnd); OCULUS_DECLARE_ENTRY_POINT(QplMarkerPoint); OCULUS_DECLARE_ENTRY_POINT(QplMarkerPointCached); OCULUS_DECLARE_ENTRY_POINT(QplMarkerAnnotation); OCULUS_DECLARE_ENTRY_POINT(QplCreateMarkerHandle); OCULUS_DECLARE_ENTRY_POINT(QplDestroyMarkerHandle); OCULUS_DECLARE_ENTRY_POINT(OnEditorShutdown); OCULUS_DECLARE_ENTRY_POINT(QplSetConsent); //OVR_Plugin_Insight.h OCULUS_DECLARE_ENTRY_POINT(InitializeInsightPassthrough); OCULUS_DECLARE_ENTRY_POINT(ShutdownInsightPassthrough); OCULUS_DECLARE_ENTRY_POINT(GetInsightPassthroughInitialized); OCULUS_DECLARE_ENTRY_POINT(GetInsightPassthroughInitializationState); OCULUS_DECLARE_ENTRY_POINT(CreateInsightTriangleMesh); OCULUS_DECLARE_ENTRY_POINT(DestroyInsightTriangleMesh); OCULUS_DECLARE_ENTRY_POINT(AddInsightPassthroughSurfaceGeometry); OCULUS_DECLARE_ENTRY_POINT(DestroyInsightPassthroughGeometryInstance); OCULUS_DECLARE_ENTRY_POINT(UpdateInsightPassthroughGeometryTransform); OCULUS_DECLARE_ENTRY_POINT(SetInsightPassthroughStyle); OCULUS_DECLARE_ENTRY_POINT(SetInsightPassthroughStyle2); OCULUS_DECLARE_ENTRY_POINT(GetPassthroughCapabilityFlags); OCULUS_DECLARE_ENTRY_POINT(CreatePassthroughColorLut); OCULUS_DECLARE_ENTRY_POINT(DestroyPassthroughColorLut); OCULUS_DECLARE_ENTRY_POINT(UpdatePassthroughColorLut); OCULUS_DECLARE_ENTRY_POINT(GetPassthroughCapabilities); OCULUS_DECLARE_ENTRY_POINT(GetPassthroughPreferences); //OVR_Plugin_MixedReality.h OCULUS_DECLARE_ENTRY_POINT(InitializeMixedReality); OCULUS_DECLARE_ENTRY_POINT(ShutdownMixedReality); OCULUS_DECLARE_ENTRY_POINT(GetMixedRealityInitialized); OCULUS_DECLARE_ENTRY_POINT(UpdateExternalCamera); OCULUS_DECLARE_ENTRY_POINT(GetExternalCameraCount); OCULUS_DECLARE_ENTRY_POINT(GetExternalCameraName); OCULUS_DECLARE_ENTRY_POINT(GetExternalCameraIntrinsics); OCULUS_DECLARE_ENTRY_POINT(GetExternalCameraExtrinsics); // OVR_Plugin_Media.h OCULUS_DECLARE_ENTRY_POINT(Media_Initialize); OCULUS_DECLARE_ENTRY_POINT(Media_Shutdown); OCULUS_DECLARE_ENTRY_POINT(Media_GetInitialized); OCULUS_DECLARE_ENTRY_POINT(Media_Update); OCULUS_DECLARE_ENTRY_POINT(Media_GetMrcActivationMode); OCULUS_DECLARE_ENTRY_POINT(Media_SetMrcActivationMode); OCULUS_DECLARE_ENTRY_POINT(Media_IsMrcEnabled); OCULUS_DECLARE_ENTRY_POINT(Media_IsMrcActivated); OCULUS_DECLARE_ENTRY_POINT(Media_UseMrcDebugCamera); OCULUS_DECLARE_ENTRY_POINT(Media_SetMrcInputVideoBufferType); OCULUS_DECLARE_ENTRY_POINT(Media_GetMrcInputVideoBufferType); OCULUS_DECLARE_ENTRY_POINT(Media_SetMrcFrameSize); OCULUS_DECLARE_ENTRY_POINT(Media_GetMrcFrameSize); OCULUS_DECLARE_ENTRY_POINT(Media_SetMrcAudioSampleRate); OCULUS_DECLARE_ENTRY_POINT(Media_GetMrcAudioSampleRate); OCULUS_DECLARE_ENTRY_POINT(Media_SetMrcFrameImageFlipped); OCULUS_DECLARE_ENTRY_POINT(Media_GetMrcFrameImageFlipped); OCULUS_DECLARE_ENTRY_POINT(Media_SetMrcFrameInverseAlpha); OCULUS_DECLARE_ENTRY_POINT(Media_GetMrcFrameInverseAlpha); OCULUS_DECLARE_ENTRY_POINT(Media_SetAvailableQueueIndexVulkan); OCULUS_DECLARE_ENTRY_POINT(Media_EncodeMrcFrame); OCULUS_DECLARE_ENTRY_POINT(Media_EncodeMrcFrameWithDualTextures); OCULUS_DECLARE_ENTRY_POINT(Media_SyncMrcFrame); OCULUS_DECLARE_ENTRY_POINT(Media_EncodeMrcFrameWithPoseTime); OCULUS_DECLARE_ENTRY_POINT(Media_EncodeMrcFrameDualTexturesWithPoseTime); OCULUS_DECLARE_ENTRY_POINT(Media_SetHeadsetControllerPose); OCULUS_DECLARE_ENTRY_POINT(Media_EnumerateCameraAnchorHandles); OCULUS_DECLARE_ENTRY_POINT(Media_GetCurrentCameraAnchorHandle); OCULUS_DECLARE_ENTRY_POINT(Media_GetCameraAnchorName); OCULUS_DECLARE_ENTRY_POINT(Media_GetCameraAnchorHandle); OCULUS_DECLARE_ENTRY_POINT(Media_GetCameraAnchorType); OCULUS_DECLARE_ENTRY_POINT(Media_CreateCustomCameraAnchor); OCULUS_DECLARE_ENTRY_POINT(Media_DestroyCustomCameraAnchor); OCULUS_DECLARE_ENTRY_POINT(Media_GetCustomCameraAnchorPose); OCULUS_DECLARE_ENTRY_POINT(Media_SetCustomCameraAnchorPose); OCULUS_DECLARE_ENTRY_POINT(Media_GetCameraMinMaxDistance); OCULUS_DECLARE_ENTRY_POINT(Media_SetCameraMinMaxDistance); OCULUS_DECLARE_ENTRY_POINT(SetControllerDrivenHandPoses); OCULUS_DECLARE_ENTRY_POINT(SetControllerDrivenHandPosesAreNatural); static bool InitializeOculusPluginWrapper(OculusPluginWrapper* wrapper); static void DestroyOculusPluginWrapper(OculusPluginWrapper* wrapper); private: ovrpVersion ovrpHeaderVersion; bool Initialized; }; #undef OCULUS_DECLARE_ENTRY_POINT