22 #include <OVR_CAPI_GL.h>
55 virtual bool initialize();
60 virtual void initializeOculusDevice(osg::RenderInfo& renderInfo);
63 virtual void initializeOculusChannel();
67 virtual void update();
71 virtual void updateProjection();
75 virtual void projectFor3D();
78 virtual void setupCullVisitor(
const osg::observer_ptr<osg::Camera>& camera);
81 osg::Camera* createRTTCamera(
int eye);
87 virtual float getPixelsPerDisplayPixel();
91 void blitMirrorTexture(osg::GraphicsContext *gc);
96 virtual void resetSensor();
100 virtual void onPreTick();
105 virtual void onPostTick();
109 virtual void onShutdown();
120 virtual void setMirroring(
int view);
121 virtual int mirroring();
125 virtual std::vector<const osg::Camera*> getShadowableCameras()
const;
131 void updateEyes(
double znear = 0.015,
double zfar = 10000);
135 ovrPosef myEyeRenderPose[2];
136 ovrEyeRenderDesc myEyeRenderDesc[2];
137 ovrFovPort myEyeFov[2];
171 Leap::Controller myLeapController;
172 double myLastSimulationTime;
206 virtual Object*
clone(
const osg::CopyOp& copyop)
const {
217 void swapBuffersImplementation(osg::GraphicsContext *);
virtual DtQuat hmdOrientation()
Definition: DtOculusChannel.h:127
Definition: DtOculusChannel.h:213
#define DT_DLL_VRVOCULUSCHANNELPLUGIN
Definition: vrvOculusChannelPlugin.h:18
Abstract Base class.
Definition: DtWindow.h:25
bool myFrameStarted
Definition: DtOculusChannel.h:143
osg::ref_ptr< osg::Group > myOculusDrawableGroup
Definition: DtOculusChannel.h:160
virtual void drawImplementation(osg::RenderInfo &renderInfo) const
When this is called the graphics context is good to go and the Oculus can be fully initialized...
Definition: DtOculusChannel.h:197
Contains makVrv::DtOsgChannel class.
DtOculusChannel * myOculusChannel
Definition: DtOculusChannel.h:210
virtual void initializeOculusDevice(osg::RenderInfo &renderInfo)
Configures the HMD created in the plugin, including the rendering & tracking configuration.
The abstract channel creator for the abstract channel class.
Definition: DtChannel.h:161
This class provides the OSG-specific implementation of a DtChannel.
Definition: DtOsgChannel.h:75
osg::ref_ptr< OculusMirrorTexture > myMirrorTexture
Definition: DtOculusChannel.h:141
bool myOculusInitialized
Definition: DtOculusChannel.h:161
virtual Object * clone(const osg::CopyOp ©op) const
Definition: DtOculusChannel.h:206
virtual DtVector hmdPosition()
Definition: DtOculusChannel.h:128
osg::ref_ptr< DtOculusDrawable > myOculusDrawable
Definition: DtOculusChannel.h:159
The abstract Channel Class.
Definition: DtChannel.h:29
osg::Quat myHmdOrientation
Definition: DtOculusChannel.h:152
osg::ref_ptr< osg::Billboard > myHUDBillboard
Definition: DtOculusChannel.h:163
ovrHmdDesc myHmdDesc
Definition: DtOculusChannel.h:134
This is modeled after the DtTritonDrawable which is used by the DtTritonManager to insure that Triton...
Definition: DtOculusChannel.h:189
virtual Object * cloneType() const
Definition: DtOculusChannel.h:203
The channel creator for the abstract channel class.
Definition: DtOculusChannel.h:178
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtOculusChannel * myChannel
Definition: DtOculusChannel.h:220
Contains makVrv::DtQuat class.
osg::ref_ptr< osg::GraphicsContext::SwapCallback > mySwapCallback
Definition: DtOculusChannel.h:166
osg::Matrixf myLeftEyeViewMatrix
Definition: DtOculusChannel.h:156
osg::Matrixf myRightEyeViewMatrix
Definition: DtOculusChannel.h:157
osg::Matrixf myLeftEyeProjectionMatrix
Definition: DtOculusChannel.h:154
ovrLayerEyeFov myLayer
Definition: DtOculusChannel.h:138
osg::ref_ptr< osg::Texture2D > myLeftDepthTexture
Definition: DtOculusChannel.h:149
Base class to provide boost signal/slot management.
ovrSession mySession
Definition: DtOculusChannel.h:133
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
osg::ref_ptr< osg::MatrixTransform > myHUDMatrixTransform
Definition: DtOculusChannel.h:164
Extension of OSG channel for Oculus Rift support.
Definition: DtOculusChannel.h:35
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
A utility Quaternion class.
Definition: DtQuat.h:22
DtOculusSwapCallback(DtOculusChannel *channel)
Definition: DtOculusChannel.h:216
osg::Vec3d myHmdPosition
Definition: DtOculusChannel.h:153
osg::Matrixf myRightEyeProjectionMatrix
Definition: DtOculusChannel.h:155
A basic OSG display window, used to get the osg context for a display window.
Definition: DtOsgWindow.h:36
bool myMonoscopic
Definition: DtOculusChannel.h:146
DtSignalConnectionManager myConnections
Definition: DtOculusChannel.h:168
osg::ref_ptr< osg::Texture2D > myRightDepthTexture
Definition: DtOculusChannel.h:150
DtOculusDrawable(DtOculusChannel *channel)
CTOR.
Definition: DtOculusChannel.h:193
int myMirroringView
Definition: DtOculusChannel.h:145