VR2024_WizardVR/TheProject/VRWizardProject/Plugins/MetaXR/Source/OculusXRHMD/Private/OculusXRPluginWrapper.h

415 lines
18 KiB
C++

// @lint-ignore-every LICENSELINT
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include <memory.h>
#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