Class for stereo management. More...
#include <Inventor/components/stereo/SoBaseStereo.h>
Public Types | |
enum | StereoViewType { NO_STEREO_VIEW = 0, INTERLACED_STEREO = 1, HALF_SCREEN_STEREO = 2, RAW_STEREO = 3, OPENGL_STEREO = 3, ANAGLYPH_STEREO = 4, ANAGLYPH = 4, PASSIVE_STEREO = 6 } |
Public Member Functions | |
SoBaseStereo (SoStereoViewer *stereoViewer=NULL) | |
virtual | ~SoBaseStereo () |
void | setStereoViewer (SoStereoViewer *viewer=NULL) |
SoStereoViewer * | getStereoViewer () |
virtual void | reverseStereoView (SbBool reverse)=0 |
virtual SbBool | isStereoViewReversed ()=0 |
virtual void | renderStereoView ()=0 |
virtual StereoViewType | getStereoViewType ()=0 |
virtual SbBool | canClearBeforeRender ()=0 |
virtual SbBool | requireHardware ()=0 |
virtual void | clearStereo () |
void | setStereoElement (SoSceneManager *, SoCamera::StereoMode stereoMode) |
This class defines a strategy of stereo management. Using a subclass of SoBaseStereo allows an SoWinViewer object to use a stereoscopic rendering mode.
Note: because of internal dependant calls between stereo classes and Open Inventor viewer classes, SoStereoViewer and SoBaseStereo (and inheriting classes) cannot be used without using SoWinViewer/SoXtViewer/SoQtViewer inheriting classes.
SoStereoViewer, SoWinViewer, SoXtViewer, SoQtViewer
Stereo view types.
SoBaseStereo::SoBaseStereo | ( | SoStereoViewer * | stereoViewer = NULL |
) |
Constructor.
virtual SoBaseStereo::~SoBaseStereo | ( | ) | [virtual] |
Destructor.
The destructor calls clearStereo().
virtual SbBool SoBaseStereo::canClearBeforeRender | ( | ) | [pure virtual] |
Queries ability to clear before rendering.
This allows a subclass to forbid the color buffer from being cleared before any rendering. Typically, this takes place after rendering the first view. Then, if canClearBeforeRender() returns FALSE, the color buffer can keep previous modifications, such as for the stencil buffer, etc.
Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.
virtual void SoBaseStereo::clearStereo | ( | ) | [virtual] |
A stereo view type may need to restore a state when it is no longer used by a stereo viewer.
Reimplemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.
SoStereoViewer* SoBaseStereo::getStereoViewer | ( | ) | [inline] |
Queries the stereo viewer.
virtual StereoViewType SoBaseStereo::getStereoViewType | ( | ) | [pure virtual] |
Queries the stereo view type.
Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.
virtual SbBool SoBaseStereo::isStereoViewReversed | ( | ) | [pure virtual] |
Queries stereo reversal.
Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.
virtual void SoBaseStereo::renderStereoView | ( | ) | [pure virtual] |
Renders the stereo view.
You can use the SoNoStereoView subclass to render the view without any stereo effect.
Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.
virtual SbBool SoBaseStereo::requireHardware | ( | ) | [pure virtual] |
Returns true or false depending on the type of stereo buffering.
Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.
virtual void SoBaseStereo::reverseStereoView | ( | SbBool | reverse | ) | [pure virtual] |
Sets stereo reversal.
The left view becomes the right view, and the right view becomes the left view.
Implemented in SoAnaglyphStereo, SoHalfScreenStereo, SoInterlacedStereo, SoNoStereoView, SoPassiveStereo, and SoRawStereo.
void SoBaseStereo::setStereoElement | ( | SoSceneManager * | , | |
SoCamera::StereoMode | stereoMode | |||
) |
Apply stereo parameters to the passed SoSceneManager.
void SoBaseStereo::setStereoViewer | ( | SoStereoViewer * | viewer = NULL |
) | [inline] |
Sets the stereo viewer.