15class PL_OPENVRPLUGIN_DLL
plOpenVR :
public plVRInterface
17 PL_DECLARE_SINGLETON_OF_INTERFACE(
plOpenVR, plVRInterface);
22 virtual bool IsHmdPresent()
const override;
24 virtual bool Initialize()
override;
25 virtual void Deinitialize()
override;
26 virtual bool IsInitialized()
const override;
28 virtual const plHMDInfo& GetHmdInfo()
const override;
30 virtual plVRDeviceID GetDeviceIDByType(plVRDeviceType::Enum type)
const override;
31 virtual const plVRDeviceState& GetDeviceState(plVRDeviceID uiDeviceID)
const override;
37 virtual bool DestroyVRView()
override;
38 virtual bool SupportsCompanionView()
override;
45 void OnBeginRender(plUInt64);
48 void OnDeviceActivated(plVRDeviceID uiDeviceID);
49 void OnDeviceDeactivated(plVRDeviceID uiDeviceID);
53 void SetStageSpace(plVRStageSpace::Enum space);
54 void SetHMDCamera(
plCamera* pCamera);
57 plMat4 GetHMDProjectionEye(vr::Hmd_Eye nEye,
float fNear,
float fFar)
const;
58 plMat4 GetHMDEyePose(vr::Hmd_Eye nEye)
const;
60 vr::TrackedDeviceIndex_t unDevice, vr::TrackedDeviceProperty prop, vr::TrackedPropertyError* peError =
nullptr)
const;
62 static plMat4 ConvertSteamVRMatrix(
const vr::HmdMatrix34_t& matPose);
63 static plVec3 ConvertSteamVRVector(
const vr::HmdVector3_t& vector);
66 bool m_bInitialized =
false;
68 vr::IVRSystem* m_pHMD =
nullptr;
69 vr::IVRRenderModels* m_pRenderModels =
nullptr;
72 plVRDeviceState m_DeviceState[vr::k_unMaxTrackedDeviceCount];
73 plInt8 m_iLeftControllerDeviceID = -1;
74 plInt8 m_iRightControllerDeviceID = -1;
78 plCamera* m_pCameraToSynchronize =
nullptr;
82 plUInt32 m_uiSettingsModificationCounter = 0;
84 plGALRenderTagetSetup m_RenderTargetSetup;
Definition RendererFoundationDLL.h:411
Definition Descriptors.h:177