0025556: Visualization - support stereo pair formats recognized by consumer display...
authorkgv <kgv@opencascade.com>
Sat, 20 Jun 2015 13:08:12 +0000 (16:08 +0300)
committerkgv <kgv@opencascade.com>
Sat, 20 Jun 2015 13:08:12 +0000 (16:08 +0300)
commitf978241fb6e26301e88e38573b822b54d4bcad4c
tree0065de87153959a54176bdff02f0078aaf0b1709
parentf809e94b9351a1f6535b937e800d505e8017d8f6
0025556: Visualization - support stereo pair formats recognized by consumer display devices

Graphic3d_StereoMode - add new enumeration for stereoscopic outputs:
- Graphic3d_StereoMode_QuadBuffer
- Graphic3d_StereoMode_Anaglyph
- Graphic3d_StereoMode_RowInterlaced
- Graphic3d_StereoMode_ColumnInterlaced
- Graphic3d_StereoMode_ChessBoard
- Graphic3d_StereoMode_SideBySide
- Graphic3d_StereoMode_OverUnder

Graphic3d_RenderingParams - add new options controlling stereo output:
- StereoMode
- ToReverseStereo
- AnaglyphFilter

OpenGl_ShaderManager - add predefined GLSL programs for new stereo outputs.
OpenGl_Workspace::Redraw() - do not implicitly disable stereo to allow stereo dump as is.
OpenGl_Caps - add flag swapInterval to control VSync.
OpenGl_Workspace::BufferDump() - handle cases with non-applicable GL_PACK_ROW_LENGTH.

CALL_DEF_WINDOW - drop unused fields; add fields "left" and "top"
to reverse stereo pair for interlaced output depending on window position.

Draw Harness, ViewerTest:
- Extend syntax of command vstereo to setup stereo.
- Extend vdump command to allow dump of stereoscopic pair in different formats.
- Extend command vcaps with option vsync.
- Use mouse scroll to zoom and adjust ZFocus in WinAPI.
- Use "/" and "*" to adjust IOD.

v3d/glsl/stereo - add test case for stereo modes.

Cocoa_LocalPool, OSD_EnvironmentIterator - fix compilation issues on OS X Snow Leopard.
30 files changed:
src/Cocoa/Cocoa_LocalPool.hxx
src/Cocoa/Cocoa_LocalPool.mm
src/Cocoa/Cocoa_Window.mm
src/Graphic3d/FILES
src/Graphic3d/Graphic3d_RenderingParams.hxx
src/Graphic3d/Graphic3d_StereoMode.hxx [new file with mode: 0644]
src/InterfaceGraphic/InterfaceGraphic_Aspect.hxx
src/OSD/OSD_EnvironmentIterator.cxx
src/OpenGl/OpenGl_Caps.cxx
src/OpenGl/OpenGl_Caps.hxx
src/OpenGl/OpenGl_Context.cxx
src/OpenGl/OpenGl_Context.hxx
src/OpenGl/OpenGl_GraphicDriver_7.cxx
src/OpenGl/OpenGl_ShaderManager.cxx
src/OpenGl/OpenGl_ShaderManager.hxx
src/OpenGl/OpenGl_Window.cxx
src/OpenGl/OpenGl_Window.hxx
src/OpenGl/OpenGl_Window_1.mm
src/OpenGl/OpenGl_Workspace.cxx
src/OpenGl/OpenGl_Workspace.hxx
src/V3d/FILES
src/V3d/V3d.cdl
src/V3d/V3d_StereoDumpOptions.hxx [new file with mode: 0644]
src/V3d/V3d_View.cxx
src/ViewerTest/ViewerTest.cxx
src/ViewerTest/ViewerTest_ViewerCommands.cxx
src/Visual3d/Visual3d_View.cxx
tests/bugs/vis/bug23813
tests/bugs/vis/bug24001
tests/v3d/glsl/stereo [new file with mode: 0644]