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

An Oculus implementation of the DtVirtualRealityProvider abstract base class. More...

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

Public Member Functions

 DtOculusProvider (DtDe &de)
 CTOR. More...
 
virtual ~DtOculusProvider ()
 DTOR. More...
 
virtual DtSubmitOverlayCallbackcreateOverlayCallback (osg::Texture2D *tex, DtDe &de, DtVirtualRealityDriver &driver)
 create a system specific overlay callback More...
 
virtual DtSubmitViewCallbackcreateViewCallback (DtVirtualRealityPostProcessor &pp, DtVirtualRealityDriver &driver, vrvVirtualReality::DtEye eye)
 create a system specific view callback More...
 
virtual const std::string & providerName ()
 get the name of this VR System provider More...
 
virtual const std::string & deviceName ()
 some systems can support multiple devices. Get the name of the attached device More...
 
virtual bool initializeVR ()
 initialize the VR subsystem More...
 
virtual bool hasFocusViews ()
 does this headset support focus views More...
 
virtual bool useVrs ()
 should we use variable rate shading More...
 
virtual
DtVariableRateShadingImageUpdater
findVrsUpdater (DtVirtualRealityChannel *channel)
 return a vrs updater allocating it if needed More...
 
virtual void getRecommendedRenderTargetSize (int &width, int &height, vrvVirtualReality::DtEye whichEye)
 get recommended VR target size More...
 
virtual void getProjectionAngles (vrvVirtualReality::DtEye eye, double &left, double &right, double &bottom, double &top, double znear, double zfar)
 get recommended projection frustum angles in degrees. Znear and zFar are passed in More...
 
virtual osg::Matrixd getEyeToHeadTransform (vrvVirtualReality::DtEye eye)
 get the head to eye transform More...
 
virtual void tick ()
 update the VR system More...
 
virtual bool getHmdPose (DtVector &pos, DtQuat &ori)
 get the HMD pose More...
 
virtual bool getTrackedPose (DtVector &pos, DtQuat &ori, int index)
 get the pose of a tracked item More...
 
virtual bool reset ()
 reset the HMD More...
 
virtual bool shutdown ()
 shutdown the VR subsystem More...
 
virtual bool hasTrackedCamera ()
 check if there is a tracked camera More...
 
virtual DtTrackedCamerafindTrackedCamera ()
 get the tracked camera of the VR system. More...
 
virtual DtMixedRealityMaskfindMixedRealityMask ()
 create a mixed reality mask allowing provider specific implementations More...
 
ovrSession findOculusSystem () const
 non-virtual functions provide Oculus specific functionality. More...
 
ovrTrackingState getTrackingState ()
 get a copy of the most recent tracking state More...
 
ovrInputState getInputState ()
 get a copy of the most recent touch input state More...
 
void setHudOffset (const ovrPosef &pose)
 internally used to set the offset for the hud texture More...
 
void setOverlayEnabled (bool enabled)
 set whether or not the overlay is enabled and submitted to the oculus system More...
 
void commitEyeTexture (vrvVirtualReality::DtEye eye, ovrTextureSwapChain swapChain, ovrTextureSwapChain depthSwapChain)
 internal commit an eye texture to the oculus system More...
 
void commitHudTexture (ovrTextureSwapChain swapChain)
 internal commit hud texture to the oculus system More...
 
void eyeCreated ()
 internal called when a swapchain surface is created More...
 
- Public Member Functions inherited from makVrv::DtVirtualRealityProvider
 DtVirtualRealityProvider (DtDe &de)
 CTOR. More...
 
virtual ~DtVirtualRealityProvider ()
 DTOR. More...
 

Static Public Member Functions

static bool isVrAvailable ()
 Is this VR system available and an HMD connected for use. More...
 

Protected Member Functions

void beginFrame ()
 
void beginRendering ()
 
void endRendering ()
 
void errorAndStop ()
 

Protected Attributes

ovrSession mySession
 
ovrHmdDesc myHmdDesc
 
ovrEyeRenderDesc myEyeRenderDesc [2]
 
int myWidth
 
int myHeight
 
long long myFrameIndex
 
bool myFrameBegan
 
int myEyesCreated
 
bool myHudEnabled
 
ovrLayerHeader * myLayers [2]
 
ovrLayerEyeFovDepth myViewLayer
 
ovrLayerQuad myHudLayer
 
std::string myDeviceName
 
DtVirtualRealityDrivermyDriverHandle
 store a handle to the driver to avoid repeated lookup More...
 
- Protected Attributes inherited from makVrv::DtVirtualRealityProvider
DtDemyDe
 
DtTrackedCameramyTrackedCamera
 
DtMixedRealityMaskmyMixedRealityMask
 

Private Member Functions

 DtOculusProvider ()
 default CTOR. More...
 
 DtOculusProvider (const DtOculusProvider &)
 default copy constructor More...
 
DtOculusProvideroperator= (const DtOculusProvider &)
 assignment operator More...
 

Detailed Description

An Oculus implementation of the DtVirtualRealityProvider abstract base class.

Constructor & Destructor Documentation

makVrv::DtOculusProvider::DtOculusProvider ( )
private

default CTOR.

makVrv::DtOculusProvider::DtOculusProvider ( const DtOculusProvider )
private

default copy constructor

makVrv::DtOculusProvider::DtOculusProvider ( DtDe de)

CTOR.

virtual makVrv::DtOculusProvider::~DtOculusProvider ( )
virtual

DTOR.

Member Function Documentation

DtOculusProvider& makVrv::DtOculusProvider::operator= ( const DtOculusProvider )
private

assignment operator

static bool makVrv::DtOculusProvider::isVrAvailable ( )
static

Is this VR system available and an HMD connected for use.

May be called without instantiating the provider.

virtual DtSubmitOverlayCallback* makVrv::DtOculusProvider::createOverlayCallback ( osg::Texture2D *  tex,
DtDe de,
DtVirtualRealityDriver driver 
)
virtual

create a system specific overlay callback

Implements makVrv::DtVirtualRealityProvider.

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

create a system specific view callback

Implements makVrv::DtVirtualRealityProvider.

virtual const std::string& makVrv::DtOculusProvider::providerName ( )
virtual

get the name of this VR System provider

Implements makVrv::DtVirtualRealityProvider.

virtual const std::string& makVrv::DtOculusProvider::deviceName ( )
virtual

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

Implements makVrv::DtVirtualRealityProvider.

virtual bool makVrv::DtOculusProvider::initializeVR ( )
virtual

initialize the VR subsystem

Implements makVrv::DtVirtualRealityProvider.

virtual bool makVrv::DtOculusProvider::hasFocusViews ( )
virtual

does this headset support focus views

Implements makVrv::DtVirtualRealityProvider.

virtual bool makVrv::DtOculusProvider::useVrs ( )
virtual

should we use variable rate shading

Implements makVrv::DtVirtualRealityProvider.

virtual DtVariableRateShadingImageUpdater* makVrv::DtOculusProvider::findVrsUpdater ( DtVirtualRealityChannel channel)
virtual

return a vrs updater allocating it if needed

Implements makVrv::DtVirtualRealityProvider.

virtual void makVrv::DtOculusProvider::getRecommendedRenderTargetSize ( int width,
int height,
vrvVirtualReality::DtEye  whichEye 
)
virtual

get recommended VR target size

Implements makVrv::DtVirtualRealityProvider.

virtual void makVrv::DtOculusProvider::getProjectionAngles ( vrvVirtualReality::DtEye  eye,
double left,
double right,
double bottom,
double top,
double  znear,
double  zfar 
)
virtual

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

Implements makVrv::DtVirtualRealityProvider.

virtual osg::Matrixd makVrv::DtOculusProvider::getEyeToHeadTransform ( vrvVirtualReality::DtEye  eye)
virtual

get the head to eye transform

Implements makVrv::DtVirtualRealityProvider.

virtual void makVrv::DtOculusProvider::tick ( )
virtual

update the VR system

Implements makVrv::DtVirtualRealityProvider.

virtual bool makVrv::DtOculusProvider::getHmdPose ( DtVector pos,
DtQuat ori 
)
virtual

get the HMD pose

Implements makVrv::DtVirtualRealityProvider.

virtual bool makVrv::DtOculusProvider::getTrackedPose ( DtVector pos,
DtQuat ori,
int  index 
)
virtual

get the pose of a tracked item

Implements makVrv::DtVirtualRealityProvider.

virtual bool makVrv::DtOculusProvider::reset ( )
virtual

reset the HMD

Implements makVrv::DtVirtualRealityProvider.

virtual bool makVrv::DtOculusProvider::shutdown ( )
virtual

shutdown the VR subsystem

Implements makVrv::DtVirtualRealityProvider.

virtual bool makVrv::DtOculusProvider::hasTrackedCamera ( )
virtual

check if there is a tracked camera

Implements makVrv::DtVirtualRealityProvider.

virtual DtTrackedCamera* makVrv::DtOculusProvider::findTrackedCamera ( )
virtual

get the tracked camera of the VR system.

Implements makVrv::DtVirtualRealityProvider.

virtual DtMixedRealityMask* makVrv::DtOculusProvider::findMixedRealityMask ( )
virtual

create a mixed reality mask allowing provider specific implementations

Implements makVrv::DtVirtualRealityProvider.

ovrSession makVrv::DtOculusProvider::findOculusSystem ( ) const

non-virtual functions provide Oculus specific functionality.

return the oculus specific session

ovrTrackingState makVrv::DtOculusProvider::getTrackingState ( )

get a copy of the most recent tracking state

ovrInputState makVrv::DtOculusProvider::getInputState ( )

get a copy of the most recent touch input state

void makVrv::DtOculusProvider::setHudOffset ( const ovrPosef &  pose)

internally used to set the offset for the hud texture

void makVrv::DtOculusProvider::setOverlayEnabled ( bool  enabled)

set whether or not the overlay is enabled and submitted to the oculus system

void makVrv::DtOculusProvider::commitEyeTexture ( vrvVirtualReality::DtEye  eye,
ovrTextureSwapChain  swapChain,
ovrTextureSwapChain  depthSwapChain 
)

internal commit an eye texture to the oculus system

void makVrv::DtOculusProvider::commitHudTexture ( ovrTextureSwapChain  swapChain)

internal commit hud texture to the oculus system

void makVrv::DtOculusProvider::eyeCreated ( )

internal called when a swapchain surface is created

void makVrv::DtOculusProvider::beginFrame ( )
protected
void makVrv::DtOculusProvider::beginRendering ( )
protected
void makVrv::DtOculusProvider::endRendering ( )
protected
void makVrv::DtOculusProvider::errorAndStop ( )
protected

Member Data Documentation

ovrSession makVrv::DtOculusProvider::mySession
protected
ovrHmdDesc makVrv::DtOculusProvider::myHmdDesc
protected
ovrEyeRenderDesc makVrv::DtOculusProvider::myEyeRenderDesc[2]
protected
int makVrv::DtOculusProvider::myWidth
protected
int makVrv::DtOculusProvider::myHeight
protected
long long makVrv::DtOculusProvider::myFrameIndex
protected
bool makVrv::DtOculusProvider::myFrameBegan
protected
int makVrv::DtOculusProvider::myEyesCreated
protected
bool makVrv::DtOculusProvider::myHudEnabled
protected
ovrLayerHeader* makVrv::DtOculusProvider::myLayers[2]
protected
ovrLayerEyeFovDepth makVrv::DtOculusProvider::myViewLayer
protected
ovrLayerQuad makVrv::DtOculusProvider::myHudLayer
protected
std::string makVrv::DtOculusProvider::myDeviceName
protected
DtVirtualRealityDriver* makVrv::DtOculusProvider::myDriverHandle
protected

store a handle to the driver to avoid repeated lookup


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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)