17 #include <OVR_CAPI_GL.h>
19 #include <oculusdevice.h>
51 virtual bool initialize();
56 virtual void initializeOculusDevice(osg::RenderInfo& renderInfo);
59 virtual void initializeOculusChannel();
63 virtual void update();
67 virtual void updateProjection();
71 virtual void projectFor3D();
74 virtual void setupCullVisitor(osg::observer_ptr<osg::Camera> camera);
77 virtual void getEulerFromQuat(osg::Quat q,
double& heading,
78 double& attitude,
double& bank);
81 osg::Camera* createRTTCamera(
int eye);
87 virtual float getPixelsPerDisplayPixel();
91 void blitMirrorTexture(osg::GraphicsContext *gc);
96 virtual void resetSensor();
99 virtual void resetYaw();
103 virtual void onPreTick();
108 virtual void onPostTick();
112 virtual void onShutdown();
123 virtual void setMirroring(
bool enabled);
124 virtual bool isMirroring();
128 virtual std::vector<const osg::Camera*> getShadowableCameras()
const;
133 ovrPosef myEyeRenderPose[2];
134 ovrEyeRenderDesc myEyeRenderDesc[2];
135 ovrFovPort myEyeFov[2];
136 ovrTexture myEyeTexture[2];
139 osg::ref_ptr<OculusTextureBuffer> myTextureBuffer[2];
147 osg::ref_ptr<osg::Camera> myRTTCameras[2];
167 Leap::Controller myLeapController;
168 double myLastSimulationTime;
193 virtual void drawImplementation(osg::RenderInfo& renderInfo)
const
202 virtual Object*
clone(
const osg::CopyOp& copyop)
const {
213 void swapBuffersImplementation(osg::GraphicsContext *);