OpenGL.hpp
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_OPENGL_HPP
26 #define SFML_OPENGL_HPP
27 
28 
32 #include <SFML/Config.hpp>
33 
34 
39 #if defined(SFML_SYSTEM_WINDOWS)
40 
41  // The Visual C++ version of gl.h uses WINGDIAPI and APIENTRY but doesn't define them
42  #ifdef _MSC_VER
43  #include <windows.h>
44  #endif
45 
46  #include <GL/gl.h>
47 
48 #elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD) || defined(SFML_SYSTEM_OPENBSD)
49 
50  #if defined(SFML_OPENGL_ES)
51  #include <GLES/gl.h>
52  #include <GLES/glext.h>
53  #else
54  #include <GL/gl.h>
55  #endif
56 
57 #elif defined(SFML_SYSTEM_MACOS)
58 
59  #include <OpenGL/gl.h>
60 
61 #elif defined (SFML_SYSTEM_IOS)
62 
63  #include <OpenGLES/ES1/gl.h>
64  #include <OpenGLES/ES1/glext.h>
65 
66 #elif defined (SFML_SYSTEM_ANDROID)
67 
68  #include <GLES/gl.h>
69  #include <GLES/glext.h>
70 
71  // We're not using OpenGL ES 2+ yet, but we can use the sRGB extension
72  #include <GLES2/gl2platform.h>
73  #include <GLES2/gl2ext.h>
74 
75 #endif
76 
77 
78 #endif // SFML_OPENGL_HPP