1 /* 2 Copyright (C) 2003, 2010 - Wolfire Games 3 Copyright (C) 2010-2017 - 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_HPP_ 22 #define _STEREO_HPP_ 23 24 #include <string> 25 26 enum StereoMode 27 { 28 stereoNone, 29 stereoAnaglyph, /* red/cyan */ 30 stereoHorizontalInterlaced, /* some 3D monitors */ 31 stereoVerticalInterlaced, 32 stereoHorizontalSplit, /* cross-eyed view */ 33 stereoVerticalSplit, 34 stereoOpenGL, /* Whatever OpenGL does, if supported */ 35 stereoCount /* must be last element */ 36 }; 37 38 enum StereoSide 39 { 40 // Code multiplies by StereoSide to calculate camera offsets 41 stereoLeft = -1, 42 stereoCenter = 0, 43 stereoRight = 1 44 }; 45 46 extern StereoMode stereomode; 47 extern StereoMode newstereomode; 48 extern float stereoseparation; 49 extern bool stereoreverse; 50 51 bool CanInitStereo(StereoMode mode); 52 void InitStereo(StereoMode mode); 53 const std::string StereoModeName(StereoMode mode); 54 55 #endif 56