OpenFrames
Public Types | Public Member Functions | Protected Attributes | List of all members
OpenFrames::VRCamera Class Reference

Encapsulates cameras used for VR stereo rendering. More...

#include <VRUtils.hpp>

Inheritance diagram for OpenFrames::VRCamera:

Public Types

enum  StereoMode { STEREO = 0, MONO = 1, AUTO = 2 }
 

Public Member Functions

 VRCamera (VRTextureBuffer *texBuffer, OpenVRDevice *ovrDevice, int camNum, StereoMode mode, bool useMSAA=false)
 
bool getUseMSAA ()
 
void setClearMask (GLbitfield mask)
 
GLbitfield getClearMask ()
 
unsigned int getNumCameras ()
 
osg::Camera * getCamera (unsigned int pos)
 
void disableCameras ()
 
void updateCameras (osg::Matrixd &rightProj, osg::Matrixd &leftProj, osg::Matrixd &centerProj, const double &zNear)
 
void addSlaveCamerasToView (osg::View *view, bool useMastersSceneData)
 

Protected Attributes

osg::ref_ptr< osg::Camera > _rightCamera
 
osg::ref_ptr< osg::Camera > _leftCamera
 
osg::ref_ptr< osg::Camera > _monoCamera
 
osg::observer_ptr< VRTextureBuffer_texBuffer
 
osg::observer_ptr< OpenVRDevice_ovrDevice
 
StereoMode _mode
 
bool _useMSAA
 

Detailed Description

Encapsulates cameras used for VR stereo rendering.

Member Function Documentation

◆ addSlaveCamerasToView()

void OpenFrames::VRCamera::addSlaveCamerasToView ( osg::View *  view,
bool  useMastersSceneData 
)

Add cameras as slaves to the specified View

◆ disableCameras()

void OpenFrames::VRCamera::disableCameras ( )

Disable all internal cameras

◆ getCamera()

osg::Camera* OpenFrames::VRCamera::getCamera ( unsigned int  pos)

Get the internal osg::Camera at desired position

◆ getNumCameras()

unsigned int OpenFrames::VRCamera::getNumCameras ( )

Get number of cameras in use, depending on StereoMode

◆ setClearMask()

void OpenFrames::VRCamera::setClearMask ( GLbitfield  mask)

Set the OpenGL clear mask for cameras

◆ updateCameras()

void OpenFrames::VRCamera::updateCameras ( osg::Matrixd &  rightProj,
osg::Matrixd &  leftProj,
osg::Matrixd &  centerProj,
const double &  zNear 
)

Update projection/modelview matrices, enable cameras, and handle other camera-specific operations

Member Data Documentation

◆ _monoCamera

osg::ref_ptr<osg::Camera> OpenFrames::VRCamera::_monoCamera
protected

Camera that draws one view to both left & right eye textures

◆ _rightCamera

osg::ref_ptr<osg::Camera> OpenFrames::VRCamera::_rightCamera
protected

Cameras to represent right and left eye views

◆ _texBuffer

osg::observer_ptr<VRTextureBuffer> OpenFrames::VRCamera::_texBuffer
protected

The texture buffers drawn on by Cameras

◆ _useMSAA

bool OpenFrames::VRCamera::_useMSAA
protected

Whether to use multisample antialiasing


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