VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVirtualRealityProvider.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <vrvUtil/DtQuat.h>
15 #include <matrix/vlVector.h>
16 
18 
19 #include <osg/Matrixd>
20 #include <osg/Group>
21 
22 #include <string>
23 #include <unordered_map>
24 
25 namespace osg
26 {
27  class Texture2D;
28 }
29 
30 namespace makVrv
31 {
32  class DtDe;
33  class DtVirtualRealityPostProcessor;
34  class DtVirtualRealityDriver;
35  class DtSubmitOverlayCallback;
36  class DtSubmitViewCallback;
37  class DtTrackedCamera;
38  class DtVariableRateShadingImageUpdater;
39  class DtVirtualRealityChannel;
40 
46  {
47  private:
50 
52  DtVirtualRealityProvider& operator=(const DtVirtualRealityProvider& other);
53 
54  public:
57 
59  virtual ~DtVirtualRealityProvider();
60 
62  virtual DtSubmitOverlayCallback* createOverlayCallback(osg::Texture* tex, DtDe& de, DtVirtualRealityDriver& driver) = 0;
63 
66 
68  virtual const std::string& providerName() = 0;
69 
71  virtual const std::string& deviceName() = 0;
72 
74  virtual bool initializeVR() = 0;
75 
77  virtual bool hasFocusViews() = 0;
78 
80  virtual bool useVrs() = 0;
81 
83  virtual DtVariableRateShadingImageUpdater* findVrsUpdater(DtVirtualRealityChannel* channel) = 0;
84 
86  virtual void getRecommendedRenderTargetSize(int& width, int& height, vrvVirtualReality::DtEye whichEye) = 0;
87 
89  virtual void getProjectionAngles(vrvVirtualReality::DtEye eye, double& left, double& right, double& bottom, double& top, double znear, double zfar) = 0;
90 
92  virtual osg::Matrixd getEyeToHeadTransform(vrvVirtualReality::DtEye eye) = 0;
93 
95  virtual void tick() = 0;
96 
98  virtual bool getHmdPose(DtVector& pos, DtQuat& ori) = 0;
99 
101  virtual void setHmdPoseOffset(const DtVector& pos, const DtQuat& ori) = 0;
102 
104  virtual bool getTrackedPose(DtVector& pos, DtQuat& ori, int index) = 0;
105 
107  virtual bool reset() = 0;
108 
110  virtual bool shutdown() = 0;
111 
113  virtual bool hasTrackedCamera() = 0;
114 
116  virtual DtTrackedCamera* findTrackedCamera() = 0;
117 
120  virtual DtMixedRealityMask* findMixedRealityMask() = 0;
121 
123  virtual bool mixedRealityRunning() const;
124 
126  virtual void startMixedReality();
127 
129  virtual void stopMixedReality();
130 
132  virtual bool supportsMixedReality();
133 
135  virtual bool supportsDepthBufferSubmission();
136 
138  virtual bool supportsRealWorldDepthTesting();
139 
141  virtual bool realWorldDepthTestingEnabled() const;
142 
144  virtual void startRealWorldDepthTesting();
145 
147  virtual void stopRealWorldDepthTesting();
148 
150  virtual bool useStereoOverlay();
151 
153  virtual bool supportsDirectMirroring();
154 
155  protected:
161  };
162 }
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
bool myRealWorldDepthTestingEnabled
Definition: DtVirtualRealityProvider.h:160
Contains DLL export macros.
bool myMixedRealityRunning
Definition: DtVirtualRealityProvider.h:159
Object used for mixed reality masking.
A Tracked camera is typically attached to the HMD and can provide position and orientation data in ad...
Definition: DtTrackedCamera.h:27
Base class for GPU updates of the variable rate shading image Draw a full screen quad using a shader ...
Definition: DtVariableRateShadingImageUpdater.h:26
A driver that manages virtual reality HMD and input devices.
Definition: DtVirtualRealityDriver.h:51
#define DT_DLL_VRVVR
Definition: vrvVirtualReality.h:19
DtEye
A virtual reality eye.
Definition: vrvVirtualReality.h:38
DtMixedRealityMask * myMixedRealityMask
Definition: DtVirtualRealityProvider.h:158
An abstract interface that provides VR System API services.
Definition: DtVirtualRealityProvider.h:45
Contains makVrv::DtQuat class.
DtTrackedCamera * myTrackedCamera
Definition: DtVirtualRealityProvider.h:157
A VRV channel that represents the eyes of the HMD A Virtual Reality channel can render in a few diffe...
Definition: DtVirtualRealityChannel.h:29
Object to handle rendering a mixed reality mask object into the scene.
Definition: DtMixedRealityMask.h:38
DtDe & myDe
Definition: DtVirtualRealityProvider.h:156
An OSG camera callback that will submit the channel to the underlying VR system as an overlay channel...
Definition: DtSubmitOverlayCallback.h:26
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
A utility Quaternion class.
Definition: DtQuat.h:19
A post processing effect responsible for submitting and mirroring the eye views to the VR subsystem...
Definition: DtVirtualRealityPostProcessor.h:34
An OSG camera callback that will submit the channel to the underlying VR system as an overlay channel...
Definition: DtSubmitViewCallback.h:29

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)