00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _SO_WIN_SSDISTEREO
00025 #define _SO_WIN_SSDISTEREO
00026
00027 #if defined(_WIN32)
00028
00029 #include <Inventor/components/stereo/SoBaseStereo.h>
00030 #include <Inventor/components/stereo/ssdi.h>
00031
00032 class SoStereoViewer;
00033
00057 {
00058 public:
00059
00063 SoSSDIStereo( SoStereoViewer* stereoVwr = NULL, SoGuiViewer* guiViewer = NULL );
00064
00068 ~SoSSDIStereo();
00069
00073 virtual void reverseStereoView( SbBool reverse );
00074
00078 virtual SbBool isStereoViewReversed();
00079
00083 virtual void renderStereoView();
00084 virtual void renderMPStereoView();
00085
00089 virtual StereoViewType getStereoViewType() { return SSDI_STEREO; }
00090
00094 virtual SbBool canClearBeforeRender();
00095
00099 virtual void clearStereo();
00100
00101 void doLeftEyeSettings( SoGLRenderAction* action );
00102 void doRightEyeSettings( SoGLRenderAction* action );
00103 void doMonoscopicSettings( SoGLRenderAction* action );
00104
00105
00106 private:
00107 SbBool initSSDIStereo();
00108 int setupStereoBuffers();
00109
00110 ssdiModeInfo m_modeInfo;
00111 ssdiStereoInfo m_stereoInfo;
00112 ssdiDeviceInfo m_deviceInfo;
00113 ssdiBufferSet m_bufferSet;
00114 SbBool m_init;
00115 SbBool m_ssdiEnabled;
00116 SoBaseStereo* m_stereoRenderer;
00117 };
00118 #endif // _WIN32
00119
00120 #endif // _SO_WIN_SSDISTEREO
00121