]> git.jsancho.org Git - lugaru.git/blob - Source/Stereo.h
8e70e5ec0fc559d0778a60a25542bb52f6efea17
[lugaru.git] / Source / Stereo.h
1 /*
2 Copyright (C) 2003, 2010 - Wolfire Games
3 Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
4
5 This file is part of Lugaru.
6
7 Lugaru is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11
12 Lugaru is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 #ifndef STEREO_H_
22 #define STEREO_H_
23
24 enum StereoMode {
25     stereoNone,
26     stereoAnaglyph,             /* red/cyan */
27     stereoHorizontalInterlaced, /* some 3D monitors */
28     stereoVerticalInterlaced,
29     stereoHorizontalSplit,      /* cross-eyed view */
30     stereoVerticalSplit,
31     stereoOpenGL,               /* Whatever OpenGL does, if supported */
32     stereoCount                 /* must be last element */
33 };
34
35
36 enum StereoSide {
37     // Code multiplies by StereoSide to calculate camera offsets
38     stereoLeft   = -1,
39     stereoCenter = 0,
40     stereoRight  = 1
41 };
42
43 extern StereoMode stereomode;
44 extern StereoMode newstereomode;
45 extern float stereoseparation;
46 extern bool  stereoreverse;
47
48 bool CanInitStereo(StereoMode mode);
49 void InitStereo(StereoMode mode);
50 const std::string StereoModeName(StereoMode mode);
51
52 #endif