Skip to content
Snippets Groups Projects
Commit 89cdacaf authored by Sebastian Pape's avatar Sebastian Pape
Browse files

Implementing interpupillary distance in VirtualRealityUtilities for HMDs

parent ffc532f4
No related branches found
No related tags found
1 merge request!5Remove nDisplay Dependency
Pipeline #167369 failed
......@@ -12,11 +12,13 @@
#include "Engine/Engine.h"
#include "IXRTrackingSystem.h"
#include "IHeadMountedDisplay.h"
bool UVirtualRealityUtilities::IsDesktopMode()
{
return !IsRoomMountedMode() && !IsHeadMountedMode();
}
bool UVirtualRealityUtilities::IsRoomMountedMode()
{
#if PLATFORM_SUPPORTS_NDISPLAY
......@@ -25,6 +27,7 @@ bool UVirtualRealityUtilities::IsRoomMountedMode()
return false;
#endif
}
bool UVirtualRealityUtilities::IsHeadMountedMode()
{
return GEngine->XRSystem.IsValid() && GEngine->XRSystem->IsHeadTrackingAllowed();
......@@ -101,15 +104,23 @@ FString UVirtualRealityUtilities::GetNodeName()
return FString(TEXT("Localhost"));
#endif
}
float UVirtualRealityUtilities::GetEyeDistance()
{
if(IsHeadMountedMode())
{
return GEngine->XRSystem->GetHMDDevice()->GetInterpupillaryDistance();
}
else
{
#if PLATFORM_SUPPORTS_NDISPLAY
ADisplayClusterRootActor* RootActor = IDisplayCluster::Get().GetGameMgr()->GetRootActor();
return (RootActor) ? RootActor->GetDefaultCamera()->GetInterpupillaryDistance() : 0;
return (RootActor) ? RootActor->GetDefaultCamera()->GetInterpupillaryDistance() : 0.0f;
#else
return 0;
return 0.0f;
#endif
}
}
EEyeStereoOffset UVirtualRealityUtilities::GetNodeEyeType()
{
......
......@@ -52,6 +52,7 @@ public:
UFUNCTION(BlueprintPure, Category = "DisplayCluster") static bool IsSlave();
UFUNCTION(BlueprintPure, Category = "DisplayCluster") static FString GetNodeName();
/* Distance in meters */
UFUNCTION(BlueprintPure, Category = "DisplayCluster") static float GetEyeDistance();
UFUNCTION(BlueprintPure, Category = "DisplayCluster") static EEyeStereoOffset GetNodeEyeType();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment