Show / Hide Table of Contents

    FXRSimulationHMD

    Simple Head Mounted Display

    class FXRSimulationHMD;
    

    Header

    #include <XRSimulationHMD.h>

    Inheritance

    Inherits from FHeadMountedDisplayBase, FXRRenderTargetManager, FSceneViewExtensionBase

    Public Functions

    Name
    virtual FName GetSystemName() const override
    int32 GetXRSystemFlags() const
    virtual bool EnumerateTrackedDevices(TArray< int32 > & OutDevices, EXRTrackedDeviceType Type =EXRTrackedDeviceType::Any) override
    virtual void SetInterpupillaryDistance(float NewInterpupillaryDistance) override
    virtual float GetInterpupillaryDistance() const override
    virtual void ResetOrientationAndPosition(float Yaw =0.f) override
    virtual void ResetOrientation(float Yaw =0.f) override
    virtual void ResetPosition() override
    virtual bool GetCurrentPose(int32 DeviceId, FQuat & CurrentOrientation, FVector & CurrentPosition) override
    virtual void SetBaseRotation(const FRotator & BaseRot) override
    virtual FRotator GetBaseRotation() const override
    virtual void SetBaseOrientation(const FQuat & BaseOrient) override
    virtual FQuat GetBaseOrientation() const override
    virtual bool DoesSupportPositionalTracking() const override
    virtual class IHeadMountedDisplay * GetHMDDevice() override
    virtual class TSharedPtr< class IStereoRendering, ESPMode::ThreadSafe > GetStereoRenderingDevice() override
    virtual void OnBeginPlay(FWorldContext & InWorldContext) override
    virtual void OnEndPlay(FWorldContext & InWorldContext) override
    virtual void OnBeginRendering_RenderThread(FRHICommandListImmediate & RHICmdList, FSceneViewFamily & ViewFamily) override
    virtual FIntRect GetFullFlatEyeRect_RenderThread(FTexture2DRHIRef EyeTexture) const override
    virtual void CopyTexture_RenderThread(FRHICommandListImmediate & RHICmdList, FRHITexture2D * SrcTexture, FIntRect SrcRect, FRHITexture2D * DstTexture, FIntRect DstRect, bool bClearBlack, bool bNoAlpha) const override
    virtual void GetMotionControllerData(UObject * WorldContext, const EControllerHand Hand, FXRMotionControllerData & MotionControllerData) override
    virtual bool IsHMDConnected() override
    virtual bool IsHMDEnabled() const override
    virtual void EnableHMD(bool bEnable =true) override
    virtual bool GetHMDMonitorInfo(MonitorInfo & MonitorDesc) override
    virtual void GetFieldOfView(float & OutHFOVInDegrees, float & OutVFOVInDegrees) const override
    virtual bool IsChromaAbCorrectionEnabled() const override
    virtual FIntPoint GetIdealRenderTargetSize() const override
    virtual bool OnStartGameFrame(FWorldContext & WorldContext) override
    virtual bool IsStereoEnabled() const override
    virtual bool EnableStereo(bool bEnable =true) override
    virtual void AdjustViewRect(EStereoscopicPass StereoPass, int32 & X, int32 & Y, uint32 & SizeX, uint32 & SizeY) const override
    virtual EStereoscopicPass GetViewPassForIndex(bool bStereoRequested, uint32 ViewIndex) const override
    virtual uint32 GetViewIndexForPass(EStereoscopicPass StereoPassType) const override
    virtual int32 GetDesiredNumberOfViews(bool bStereoRequested) const override
    virtual FMatrix GetStereoProjectionMatrix(const enum EStereoscopicPass StereoPassType) const override
    virtual void GetEyeRenderParams_RenderThread(const struct FRenderingCompositePassContext & Context, FVector2D & EyeToSrcUVScaleValue, FVector2D & EyeToSrcUVOffsetValue) const override
    virtual IStereoRenderTargetManager * GetRenderTargetManager() override
    virtual void RenderTexture_RenderThread(class FRHICommandListImmediate & RHICmdList, class FRHITexture2D * BackBuffer, class FRHITexture2D * SrcTexture, FVector2D WindowSize) const override
    virtual bool ShouldUseSeparateRenderTarget() const override
    virtual void SetupViewFamily(FSceneViewFamily & InViewFamily) override
    virtual void SetupView(FSceneViewFamily & InViewFamily, FSceneView & InView) override
    virtual void BeginRenderViewFamily(FSceneViewFamily & InViewFamily)
    virtual void PreRenderView_RenderThread(FRHICommandListImmediate & RHICmdList, FSceneView & InView) override
    virtual void PreRenderViewFamily_RenderThread(FRHICommandListImmediate & RHICmdList, FSceneViewFamily & InViewFamily) override
    virtual bool IsActiveThisFrame(class FViewport * InViewport) const
    FXRSimulationHMD(const FAutoRegister & AutoRegister)
    virtual ~FXRSimulationHMD()
    bool IsInitialized() const
    AXRSimulationActor * GetSimulationActor() const

    Protected Functions

    Name
    virtual float GetWorldToMetersScale() const override

    Public Attributes

    Name
    const FName SystemName

    Public Functions Documentation

    function GetSystemName

    inline virtual FName GetSystemName() const override
    

    IXRTrackingSystem interface

    function GetXRSystemFlags

    inline int32 GetXRSystemFlags() const
    

    function EnumerateTrackedDevices

    virtual bool EnumerateTrackedDevices(
        TArray< int32 > & OutDevices,
        EXRTrackedDeviceType Type =EXRTrackedDeviceType::Any
    ) override
    

    function SetInterpupillaryDistance

    virtual void SetInterpupillaryDistance(
        float NewInterpupillaryDistance
    ) override
    

    function GetInterpupillaryDistance

    virtual float GetInterpupillaryDistance() const override
    

    function ResetOrientationAndPosition

    virtual void ResetOrientationAndPosition(
        float Yaw =0.f
    ) override
    

    function ResetOrientation

    virtual void ResetOrientation(
        float Yaw =0.f
    ) override
    

    function ResetPosition

    virtual void ResetPosition() override
    

    function GetCurrentPose

    virtual bool GetCurrentPose(
        int32 DeviceId,
        FQuat & CurrentOrientation,
        FVector & CurrentPosition
    ) override
    

    function SetBaseRotation

    virtual void SetBaseRotation(
        const FRotator & BaseRot
    ) override
    

    function GetBaseRotation

    virtual FRotator GetBaseRotation() const override
    

    function SetBaseOrientation

    virtual void SetBaseOrientation(
        const FQuat & BaseOrient
    ) override
    

    function GetBaseOrientation

    virtual FQuat GetBaseOrientation() const override
    

    function DoesSupportPositionalTracking

    virtual bool DoesSupportPositionalTracking() const override
    

    function GetHMDDevice

    inline virtual class IHeadMountedDisplay * GetHMDDevice() override
    

    function GetStereoRenderingDevice

    inline virtual class TSharedPtr< class IStereoRendering, ESPMode::ThreadSafe > GetStereoRenderingDevice() override
    

    function OnBeginPlay

    virtual void OnBeginPlay(
        FWorldContext & InWorldContext
    ) override
    

    function OnEndPlay

    virtual void OnEndPlay(
        FWorldContext & InWorldContext
    ) override
    

    function OnBeginRendering_RenderThread

    virtual void OnBeginRendering_RenderThread(
        FRHICommandListImmediate & RHICmdList,
        FSceneViewFamily & ViewFamily
    ) override
    

    function GetFullFlatEyeRect_RenderThread

    virtual FIntRect GetFullFlatEyeRect_RenderThread(
        FTexture2DRHIRef EyeTexture
    ) const override
    

    function CopyTexture_RenderThread

    virtual void CopyTexture_RenderThread(
        FRHICommandListImmediate & RHICmdList,
        FRHITexture2D * SrcTexture,
        FIntRect SrcRect,
        FRHITexture2D * DstTexture,
        FIntRect DstRect,
        bool bClearBlack,
        bool bNoAlpha
    ) const override
    

    function GetMotionControllerData

    virtual void GetMotionControllerData(
        UObject * WorldContext,
        const EControllerHand Hand,
        FXRMotionControllerData & MotionControllerData
    ) override
    

    function IsHMDConnected

    virtual bool IsHMDConnected() override
    

    IHeadMountedDisplay interface

    function IsHMDEnabled

    virtual bool IsHMDEnabled() const override
    

    function EnableHMD

    virtual void EnableHMD(
        bool bEnable =true
    ) override
    

    function GetHMDMonitorInfo

    virtual bool GetHMDMonitorInfo(
        MonitorInfo & MonitorDesc
    ) override
    

    function GetFieldOfView

    virtual void GetFieldOfView(
        float & OutHFOVInDegrees,
        float & OutVFOVInDegrees
    ) const override
    

    function IsChromaAbCorrectionEnabled

    virtual bool IsChromaAbCorrectionEnabled() const override
    

    function GetIdealRenderTargetSize

    virtual FIntPoint GetIdealRenderTargetSize() const override
    

    function OnStartGameFrame

    virtual bool OnStartGameFrame(
        FWorldContext & WorldContext
    ) override
    

    function IsStereoEnabled

    virtual bool IsStereoEnabled() const override
    

    IStereoRendering interface

    function EnableStereo

    virtual bool EnableStereo(
        bool bEnable =true
    ) override
    

    function AdjustViewRect

    virtual void AdjustViewRect(
        EStereoscopicPass StereoPass,
        int32 & X,
        int32 & Y,
        uint32 & SizeX,
        uint32 & SizeY
    ) const override
    

    function GetViewPassForIndex

    virtual EStereoscopicPass GetViewPassForIndex(
        bool bStereoRequested,
        uint32 ViewIndex
    ) const override
    

    function GetViewIndexForPass

    virtual uint32 GetViewIndexForPass(
        EStereoscopicPass StereoPassType
    ) const override
    

    function GetDesiredNumberOfViews

    virtual int32 GetDesiredNumberOfViews(
        bool bStereoRequested
    ) const override
    

    function GetStereoProjectionMatrix

    virtual FMatrix GetStereoProjectionMatrix(
        const enum EStereoscopicPass StereoPassType
    ) const override
    

    function GetEyeRenderParams_RenderThread

    virtual void GetEyeRenderParams_RenderThread(
        const struct FRenderingCompositePassContext & Context,
        FVector2D & EyeToSrcUVScaleValue,
        FVector2D & EyeToSrcUVOffsetValue
    ) const override
    

    function GetRenderTargetManager

    virtual IStereoRenderTargetManager * GetRenderTargetManager() override
    

    function RenderTexture_RenderThread

    virtual void RenderTexture_RenderThread(
        class FRHICommandListImmediate & RHICmdList,
        class FRHITexture2D * BackBuffer,
        class FRHITexture2D * SrcTexture,
        FVector2D WindowSize
    ) const override
    

    function ShouldUseSeparateRenderTarget

    virtual bool ShouldUseSeparateRenderTarget() const override
    

    IStereoRenderTargetManager

    function SetupViewFamily

    virtual void SetupViewFamily(
        FSceneViewFamily & InViewFamily
    ) override
    

    ISceneViewExtension interface

    function SetupView

    virtual void SetupView(
        FSceneViewFamily & InViewFamily,
        FSceneView & InView
    ) override
    

    function BeginRenderViewFamily

    inline virtual void BeginRenderViewFamily(
        FSceneViewFamily & InViewFamily
    )
    

    function PreRenderView_RenderThread

    virtual void PreRenderView_RenderThread(
        FRHICommandListImmediate & RHICmdList,
        FSceneView & InView
    ) override
    

    function PreRenderViewFamily_RenderThread

    virtual void PreRenderViewFamily_RenderThread(
        FRHICommandListImmediate & RHICmdList,
        FSceneViewFamily & InViewFamily
    ) override
    

    function IsActiveThisFrame

    virtual bool IsActiveThisFrame(
        class FViewport * InViewport
    ) const
    

    function FXRSimulationHMD

    FXRSimulationHMD(
        const FAutoRegister & AutoRegister
    )
    

    Constructor

    function ~FXRSimulationHMD

    virtual ~FXRSimulationHMD()
    

    Destructor

    function IsInitialized

    bool IsInitialized() const
    

    Return: True if the HMD was initialized OK

    function GetSimulationActor

    AXRSimulationActor * GetSimulationActor() const
    

    Protected Functions Documentation

    function GetWorldToMetersScale

    virtual float GetWorldToMetersScale() const override
    

    FXRTrackingSystemBase protected interface

    Public Attributes Documentation

    variable SystemName

    static const FName SystemName = TEXT("XRSimulation");
    

    Updated on 19 August 2021 at 17:42:51 Coordinated Universal Time

    • Improve this Doc
    Back to top Generated by DocFX