1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

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.
This commit is contained in:
kgv
2015-06-20 16:08:12 +03:00
parent f809e94b93
commit f978241fb6
30 changed files with 1160 additions and 229 deletions

View File

@@ -16,8 +16,8 @@ vinit
vsetdispmode 1
vdisplay b
vfit
vdump ${imagedir}/texture_409.png rgb 409 409
vdump ${imagedir}/texture_412.png rgb 412 412
vdump ${imagedir}/texture_409.png -buffer rgb -width 409 -height 409
vdump ${imagedir}/texture_412.png -buffer rgb -width 412 -height 412
# texture loaded correctly
vtexture b ${imagedir}/texture_412.png

View File

@@ -15,16 +15,16 @@ vcamera -fov 45 -iodType relative -iod 0.05 -zfocustype relative -zfocus 1.0
vcamera -ortho
vfit
set aTitle "ortho"
vdump $imagedir/${casename}_${aTitle}.png rgb 512 512
vdump $imagedir/${casename}_${aTitle}.png -buffer rgb -width 512 -height 512
vcamera -persp
vfit
set aTitle "persp"
vdump $imagedir/${casename}_${aTitle}.png rgb 512 512
vdump $imagedir/${casename}_${aTitle}.png -buffer rgb -width 512 -height 512
vcamera -stereo
set aTitle "stereoR"
vdump $imagedir/${casename}_${aTitle}.png rgb 512 512 R
vdump $imagedir/${casename}_${aTitle}.png -buffer rgb -width 512 -height 512 -stereo R
set aTitle "stereoL"
vdump $imagedir/${casename}_${aTitle}.png rgb 512 512 L
vdump $imagedir/${casename}_${aTitle}.png -buffer rgb -width 512 -height 512 -stereo L
# test context stereo mode swicthing
# if not supported by hardware it must not crash
@@ -35,4 +35,4 @@ vdisplay b
vcamera -stereo
vfit
set aTitle "afterSwitch"
vdump $imagedir/${casename}_${aTitle}.png rgb 512 512 R
vdump $imagedir/${casename}_${aTitle}.png -buffer rgb -width 512 -height 512 -stereo R