VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes | Private Member Functions
makVrv::DtVirtualRealityProvider Class Referenceabstract

An abstract interface that provides VR System API services. More...

Inheritance diagram for makVrv::DtVirtualRealityProvider:
Inheritance graph
[legend]

Public Member Functions

 DtVirtualRealityProvider (DtDe &de)
 CTOR. More...
 
virtual ~DtVirtualRealityProvider ()
 DTOR. More...
 
virtual DtSubmitOverlayCallbackcreateOverlayCallback (osg::Texture *tex, DtDe &de, DtVirtualRealityDriver &driver)=0
 create a system specific overlay callback More...
 
virtual DtSubmitViewCallbackcreateViewCallback (DtVirtualRealityPostProcessor &pp, DtVirtualRealityDriver &driver, vrvVirtualReality::DtEye eye)=0
 create a system specific view callback More...
 
virtual const std::string & providerName ()=0
 get the name of this VR System provider More...
 
virtual const std::string & deviceName ()=0
 some systems can support multiple devices. Get the name of the attached device More...
 
virtual bool initializeVR ()=0
 initialize the VR subsystem More...
 
virtual bool hasFocusViews ()=0
 does this headset support focus views More...
 
virtual bool useVrs ()=0
 should we use variable rate shading More...
 
virtual
DtVariableRateShadingImageUpdater
findVrsUpdater (DtVirtualRealityChannel *channel)=0
 return a vrs updater allocating it if needed More...
 
virtual void getRecommendedRenderTargetSize (int &width, int &height, vrvVirtualReality::DtEye whichEye)=0
 get recommended VR target size More...
 
virtual void getProjectionAngles (vrvVirtualReality::DtEye eye, double &left, double &right, double &bottom, double &top, double znear, double zfar)=0
 get recommended projection frustum angles in degrees. Znear and zFar are passed in More...
 
virtual osg::Matrixd getEyeToHeadTransform (vrvVirtualReality::DtEye eye)=0
 get the head to eye transform More...
 
virtual void tick ()=0
 update the VR system More...
 
virtual bool getHmdPose (DtVector &pos, DtQuat &ori)=0
 get the HMD pose More...
 
virtual void setHmdPoseOffset (const DtVector &pos, const DtQuat &ori)=0
 set an constant offset to the hmd pose More...
 
virtual bool getTrackedPose (DtVector &pos, DtQuat &ori, int index)=0
 get the pose of a tracked item More...
 
virtual bool reset ()=0
 reset the HMD More...
 
virtual bool shutdown ()=0
 shutdown the VR subsystem More...
 
virtual bool hasTrackedCamera ()=0
 check if there is a tracked camera More...
 
virtual DtTrackedCamerafindTrackedCamera ()=0
 get the tracked camera of the VR system. More...
 
virtual DtMixedRealityMaskfindMixedRealityMask ()=0
 return the mixed reality mask object allocating one if not already allocated will return zero for providers that don't support mixed reality More...
 
virtual bool mixedRealityRunning () const
 returns true if mixed reality is active and running More...
 
virtual void startMixedReality ()
 start mixed reality camera and blending etc More...
 
virtual void stopMixedReality ()
 stop mixed reality camera and blending etc More...
 
virtual bool supportsMixedReality ()
 reuturns true if the headset is capable of supporting mixed reality More...
 
virtual bool supportsDepthBufferSubmission ()
 \ breif returns true if the headset supports depth buffer submission for positional warp etc More...
 
virtual bool supportsRealWorldDepthTesting ()
 \ breif returns true if the headset supports depth testing against the real world More...
 
virtual bool realWorldDepthTestingEnabled () const
 \ brief returns true if real world depth testing is enabled More...
 
virtual void startRealWorldDepthTesting ()
 \ breif start performing real world depth testing More...
 
virtual void stopRealWorldDepthTesting ()
 \ breif stop performing real world depth testing More...
 
virtual bool useStereoOverlay ()
 should the overlay be rendered as strereo to another render texture More...
 
virtual bool supportsDirectMirroring ()
 does this provider handle displaying the mirror view More...
 

Protected Attributes

DtDemyDe
 
DtTrackedCameramyTrackedCamera
 
DtMixedRealityMaskmyMixedRealityMask
 
bool myMixedRealityRunning
 
bool myRealWorldDepthTestingEnabled
 

Private Member Functions

 DtVirtualRealityProvider (const DtVirtualRealityProvider &other)
 Copy Constructor not implemented – Copy Not Allowed. More...
 
DtVirtualRealityProvideroperator= (const DtVirtualRealityProvider &other)
 Assignment Operator Not implemented – Assignment Not Allowed. More...
 

Detailed Description

An abstract interface that provides VR System API services.

Providers are created and provided to the DtVirtualRealityDriver for use. Derived classes will have a static isVrSupported() function that can be used to know if the right equipment and software are present for use.

Constructor & Destructor Documentation

makVrv::DtVirtualRealityProvider::DtVirtualRealityProvider ( const DtVirtualRealityProvider other)
private

Copy Constructor not implemented – Copy Not Allowed.

makVrv::DtVirtualRealityProvider::DtVirtualRealityProvider ( DtDe de)

CTOR.

virtual makVrv::DtVirtualRealityProvider::~DtVirtualRealityProvider ( )
virtual

DTOR.

Member Function Documentation

DtVirtualRealityProvider& makVrv::DtVirtualRealityProvider::operator= ( const DtVirtualRealityProvider other)
private

Assignment Operator Not implemented – Assignment Not Allowed.

virtual DtSubmitOverlayCallback* makVrv::DtVirtualRealityProvider::createOverlayCallback ( osg::Texture *  tex,
DtDe de,
DtVirtualRealityDriver driver 
)
pure virtual

create a system specific overlay callback

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual DtSubmitViewCallback* makVrv::DtVirtualRealityProvider::createViewCallback ( DtVirtualRealityPostProcessor pp,
DtVirtualRealityDriver driver,
vrvVirtualReality::DtEye  eye 
)
pure virtual

create a system specific view callback

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual const std::string& makVrv::DtVirtualRealityProvider::providerName ( )
pure virtual

get the name of this VR System provider

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual const std::string& makVrv::DtVirtualRealityProvider::deviceName ( )
pure virtual

some systems can support multiple devices. Get the name of the attached device

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual bool makVrv::DtVirtualRealityProvider::initializeVR ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::hasFocusViews ( )
pure virtual

does this headset support focus views

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual bool makVrv::DtVirtualRealityProvider::useVrs ( )
pure virtual

should we use variable rate shading

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual DtVariableRateShadingImageUpdater* makVrv::DtVirtualRealityProvider::findVrsUpdater ( DtVirtualRealityChannel channel)
pure virtual

return a vrs updater allocating it if needed

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual void makVrv::DtVirtualRealityProvider::getRecommendedRenderTargetSize ( int width,
int height,
vrvVirtualReality::DtEye  whichEye 
)
pure virtual
virtual void makVrv::DtVirtualRealityProvider::getProjectionAngles ( vrvVirtualReality::DtEye  eye,
double left,
double right,
double bottom,
double top,
double  znear,
double  zfar 
)
pure virtual

get recommended projection frustum angles in degrees. Znear and zFar are passed in

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual osg::Matrixd makVrv::DtVirtualRealityProvider::getEyeToHeadTransform ( vrvVirtualReality::DtEye  eye)
pure virtual
virtual void makVrv::DtVirtualRealityProvider::tick ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::getHmdPose ( DtVector pos,
DtQuat ori 
)
pure virtual
virtual void makVrv::DtVirtualRealityProvider::setHmdPoseOffset ( const DtVector pos,
const DtQuat ori 
)
pure virtual

set an constant offset to the hmd pose

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual bool makVrv::DtVirtualRealityProvider::getTrackedPose ( DtVector pos,
DtQuat ori,
int  index 
)
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::reset ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::shutdown ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::hasTrackedCamera ( )
pure virtual
virtual DtTrackedCamera* makVrv::DtVirtualRealityProvider::findTrackedCamera ( )
pure virtual

get the tracked camera of the VR system.

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual DtMixedRealityMask* makVrv::DtVirtualRealityProvider::findMixedRealityMask ( )
pure virtual

return the mixed reality mask object allocating one if not already allocated will return zero for providers that don't support mixed reality

Implemented in makVrv::DtVarjoProvider, makVrv::DtOpenVRProvider, makVrv::DtOculusProvider, and makVrv::DtDesktopProvider.

virtual bool makVrv::DtVirtualRealityProvider::mixedRealityRunning ( ) const
virtual

returns true if mixed reality is active and running

virtual void makVrv::DtVirtualRealityProvider::startMixedReality ( )
virtual

start mixed reality camera and blending etc

Reimplemented in makVrv::DtVarjoProvider.

virtual void makVrv::DtVirtualRealityProvider::stopMixedReality ( )
virtual

stop mixed reality camera and blending etc

Reimplemented in makVrv::DtVarjoProvider.

virtual bool makVrv::DtVirtualRealityProvider::supportsMixedReality ( )
virtual

reuturns true if the headset is capable of supporting mixed reality

Reimplemented in makVrv::DtVarjoProvider.

virtual bool makVrv::DtVirtualRealityProvider::supportsDepthBufferSubmission ( )
virtual

\ breif returns true if the headset supports depth buffer submission for positional warp etc

Reimplemented in makVrv::DtVarjoProvider, and makVrv::DtOculusProvider.

virtual bool makVrv::DtVirtualRealityProvider::supportsRealWorldDepthTesting ( )
virtual

\ breif returns true if the headset supports depth testing against the real world

Reimplemented in makVrv::DtVarjoProvider.

virtual bool makVrv::DtVirtualRealityProvider::realWorldDepthTestingEnabled ( ) const
virtual

\ brief returns true if real world depth testing is enabled

virtual void makVrv::DtVirtualRealityProvider::startRealWorldDepthTesting ( )
virtual

\ breif start performing real world depth testing

Reimplemented in makVrv::DtVarjoProvider.

virtual void makVrv::DtVirtualRealityProvider::stopRealWorldDepthTesting ( )
virtual

\ breif stop performing real world depth testing

Reimplemented in makVrv::DtVarjoProvider.

virtual bool makVrv::DtVirtualRealityProvider::useStereoOverlay ( )
virtual

should the overlay be rendered as strereo to another render texture

Reimplemented in makVrv::DtVarjoProvider.

virtual bool makVrv::DtVirtualRealityProvider::supportsDirectMirroring ( )
virtual

does this provider handle displaying the mirror view

Reimplemented in makVrv::DtVarjoProvider.

Member Data Documentation

DtDe& makVrv::DtVirtualRealityProvider::myDe
protected
DtTrackedCamera* makVrv::DtVirtualRealityProvider::myTrackedCamera
protected
DtMixedRealityMask* makVrv::DtVirtualRealityProvider::myMixedRealityMask
protected
bool makVrv::DtVirtualRealityProvider::myMixedRealityRunning
protected
bool makVrv::DtVirtualRealityProvider::myRealWorldDepthTestingEnabled
protected

The documentation for this class was generated from the following file:

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)