1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +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

@@ -14,7 +14,13 @@
#ifndef __Cocoa_LocalPool_h_
#define __Cocoa_LocalPool_h_
#if defined(__clang__) && (__clang_major__ >= 4) && __has_feature(objc_arc)
#if defined(__clang__) && (__clang_major__ >= 4)
#if __has_feature(objc_arc)
#define HAVE_OBJC_ARC
#endif
#endif
#ifdef HAVE_OBJC_ARC
// @autoreleasepool should be used within ARC

View File

@@ -23,9 +23,7 @@
#import <Cocoa/Cocoa.h>
#endif
#if defined(__clang__) && (__clang_major__ >= 4) && __has_feature(objc_arc)
// ARC
#else
#ifndef HAVE_OBJC_ARC
// =======================================================================
// function : Cocoa_LocalPool

View File

@@ -32,10 +32,6 @@
IMPLEMENT_STANDARD_HANDLE (Cocoa_Window, Aspect_Window)
IMPLEMENT_STANDARD_RTTIEXT(Cocoa_Window, Aspect_Window)
#if defined(__clang__) && (__clang_major__ >= 4) && __has_feature(objc_arc)
#define HAVE_OBJC_ARC
#endif
#if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
//
#else