VR-Forces Developer's Guide
 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. 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.

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

Public Member Functions

 DtVirtualRealityProvider (DtDe &de)
 
virtual ~DtVirtualRealityProvider ()
 
virtual DtSubmitOverlayCallbackcreateOverlayCallback (osg::Texture *tex, DtDe &de, DtVirtualRealityDriver &driver)=0
 
virtual DtSubmitViewCallbackcreateViewCallback (DtVirtualRealityPostProcessor &pp, DtVirtualRealityDriver &driver, vrvVirtualReality::DtEye eye)=0
 
virtual DtBeginRenderingCallbackcreateBeginRenderingCallback (DtVirtualRealityDriver &driver, vrvVirtualReality::DtEye eye)
 
virtual const std::string & providerName ()=0
 
virtual const std::string & deviceName ()=0
 
virtual bool initializeVR ()=0
 
virtual bool hasFocusViews ()=0
 
virtual bool useVrs ()=0
 
virtual
DtVariableRateShadingImageUpdater
findVrsUpdater (DtVirtualRealityChannel *channel)=0
 
virtual void getRecommendedRenderTargetSize (int &width, int &height, vrvVirtualReality::DtEye whichEye)=0
 
virtual DtSwapChainallocateSwapChain (vrvVirtualReality::DtEye whichEye, bool isOverlay)=0
 
virtual void getProjectionAngles (vrvVirtualReality::DtEye eye, double &left, double &right, double &bottom, double &top, double znear, double zfar)=0
 
virtual osg::Matrixd getEyeToHeadTransform (vrvVirtualReality::DtEye eye)=0
 
virtual void commitEyeTexture (osg::RenderInfo &renderInfo, DtSwapChain *swapChain)=0
 
virtual void commitHudTexture (osg::RenderInfo &renderInfo, DtSwapChain *swapChain)=0
 
virtual void updateOverlayDimensions (float width, float height, float distance, int pixWidth, int pixHeight)=0
 
virtual void tick ()=0
 
virtual void beginFrame ()=0
 
virtual void beginRendering ()=0
 
virtual void endRendering ()=0
 
virtual bool getHmdPose (DtVector &pos, DtQuat &ori)=0
 
virtual void setHmdPoseOffset (const DtVector &pos, const DtQuat &ori)=0
 
virtual bool getTrackedPose (DtVector &pos, DtQuat &ori, int index)=0
 
virtual bool reset ()=0
 
virtual void triggerAction1 ()
 
virtual bool shutdown ()=0
 
virtual bool hasTrackedCamera ()=0
 
virtual DtTrackedCamerafindTrackedCamera ()=0
 
virtual DtMixedRealityMaskfindMixedRealityMask ()=0
 
virtual bool mixedRealityRunning () const
 
virtual void startMixedReality ()
 
virtual void stopMixedReality ()
 
virtual bool supportsMixedReality ()
 
virtual bool supportsDepthBufferSubmission ()
 
virtual bool supportsRealWorldDepthTesting ()
 
virtual bool realWorldDepthTestingEnabled () const
 
virtual void startRealWorldDepthTesting ()
 
virtual void stopRealWorldDepthTesting ()
 
virtual
vrvVirtualReality::DtVrOverlayMode 
overlayMode ()
 

Protected Attributes

DtDemyDe
 
DtVirtualRealityDrivermyDriverHandle
 
DtTrackedCameramyTrackedCamera
 
DtMixedRealityMaskmyMixedRealityMask
 
bool myMixedRealityRunning
 
bool myRealWorldDepthTestingEnabled
 
std::map
< DtVirtualRealityChannel
*, osg::ref_ptr
< DtVariableRateShadingImageUpdater > > 
myChannelVrsUpdaters
 

Private Member Functions

 DtVirtualRealityProvider (const DtVirtualRealityProvider &other)
 
DtVirtualRealityProvideroperator= (const DtVirtualRealityProvider &other)
 

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
virtual DtSubmitViewCallback* makVrv::DtVirtualRealityProvider::createViewCallback ( DtVirtualRealityPostProcessor pp,
DtVirtualRealityDriver driver,
vrvVirtualReality::DtEye  eye 
)
pure virtual
virtual DtBeginRenderingCallback* makVrv::DtVirtualRealityProvider::createBeginRenderingCallback ( DtVirtualRealityDriver driver,
vrvVirtualReality::DtEye  eye 
)
virtual

default BeginRenderingCallback or invoke provider specific override

virtual const std::string& makVrv::DtVirtualRealityProvider::providerName ( )
pure virtual
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, makVrv::DtXtalProvider, and makVrv::DtDesktopProvider.

virtual bool makVrv::DtVirtualRealityProvider::initializeVR ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::hasFocusViews ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::useVrs ( )
pure virtual
virtual DtVariableRateShadingImageUpdater* makVrv::DtVirtualRealityProvider::findVrsUpdater ( DtVirtualRealityChannel channel)
pure virtual
virtual void makVrv::DtVirtualRealityProvider::getRecommendedRenderTargetSize ( int width,
int height,
vrvVirtualReality::DtEye  whichEye 
)
pure virtual
virtual DtSwapChain* makVrv::DtVirtualRealityProvider::allocateSwapChain ( vrvVirtualReality::DtEye  whichEye,
bool  isOverlay 
)
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, makVrv::DtXtalProvider, and makVrv::DtDesktopProvider.

virtual osg::Matrixd makVrv::DtVirtualRealityProvider::getEyeToHeadTransform ( vrvVirtualReality::DtEye  eye)
pure virtual
virtual void makVrv::DtVirtualRealityProvider::commitEyeTexture ( osg::RenderInfo &  renderInfo,
DtSwapChain swapChain 
)
pure virtual

provider specific commit of eye texture to the HMD

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

virtual void makVrv::DtVirtualRealityProvider::commitHudTexture ( osg::RenderInfo &  renderInfo,
DtSwapChain swapChain 
)
pure virtual

provider specific commit of hud texture to the HMD

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

virtual void makVrv::DtVirtualRealityProvider::updateOverlayDimensions ( float  width,
float  height,
float  distance,
int  pixWidth,
int  pixHeight 
)
pure virtual
virtual void makVrv::DtVirtualRealityProvider::tick ( )
pure virtual
virtual void makVrv::DtVirtualRealityProvider::beginFrame ( )
pure virtual
virtual void makVrv::DtVirtualRealityProvider::beginRendering ( )
pure virtual
virtual void makVrv::DtVirtualRealityProvider::endRendering ( )
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
virtual bool makVrv::DtVirtualRealityProvider::getTrackedPose ( DtVector pos,
DtQuat ori,
int  index 
)
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::reset ( )
pure virtual
virtual void makVrv::DtVirtualRealityProvider::triggerAction1 ( )
virtual

trigger generic action for the provider

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

virtual bool makVrv::DtVirtualRealityProvider::shutdown ( )
pure virtual
virtual bool makVrv::DtVirtualRealityProvider::hasTrackedCamera ( )
pure virtual
virtual DtTrackedCamera* makVrv::DtVirtualRealityProvider::findTrackedCamera ( )
pure virtual
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::DtDesktopProvider, makVrv::DtOculusProvider, and makVrv::DtXtalProvider.

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, and makVrv::DtXtalProvider.

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

stop mixed reality camera and blending etc

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

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

reuturns true if the headset is capable of supporting mixed reality

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

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

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

Reimplemented in makVrv::DtVarjoProvider, makVrv::DtXtalProvider, makVrv::DtDesktopProvider, 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 vrvVirtualReality::DtVrOverlayMode makVrv::DtVirtualRealityProvider::overlayMode ( )
virtual

should the overlay be rendered as strereo to another render texture

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

Member Data Documentation

DtDe& makVrv::DtVirtualRealityProvider::myDe
protected
DtVirtualRealityDriver* makVrv::DtVirtualRealityProvider::myDriverHandle
protected
DtTrackedCamera* makVrv::DtVirtualRealityProvider::myTrackedCamera
protected
DtMixedRealityMask* makVrv::DtVirtualRealityProvider::myMixedRealityMask
protected
bool makVrv::DtVirtualRealityProvider::myMixedRealityRunning
protected
bool makVrv::DtVirtualRealityProvider::myRealWorldDepthTestingEnabled
protected
std::map<DtVirtualRealityChannel*, osg::ref_ptr<DtVariableRateShadingImageUpdater> > makVrv::DtVirtualRealityProvider::myChannelVrsUpdaters
protected

out vrs updater


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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)