]> git.lizzy.rs Git - irrlicht.git/blob - source/Irrlicht/COGLES2Common.h
2c844ce3cd29e9d576aa52c0fba677d2c53e9293
[irrlicht.git] / source / Irrlicht / COGLES2Common.h
1 // Copyright (C) 2015 Patryk Nadrowski\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 #ifndef __C_OGLES2_COMMON_H_INCLUDED__\r
6 #define __C_OGLES2_COMMON_H_INCLUDED__\r
7 \r
8 #include "IrrCompileConfig.h"\r
9 \r
10 #ifdef _IRR_COMPILE_WITH_OGLES2_\r
11 \r
12 #if defined(_IRR_COMPILE_WITH_IOS_DEVICE_)\r
13 #include <OpenGLES/ES2/gl.h>\r
14 #include <OpenGLES/ES2/glext.h>\r
15 #elif defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)\r
16 #include <GLES2/gl2.h>\r
17 #include <GLES2/gl2ext.h>\r
18 #include <EGL/eglplatform.h>\r
19 #elif defined(_IRR_EMSCRIPTEN_PLATFORM_)\r
20 #include <GLES2/gl2.h>\r
21 #include <GLES2/gl2ext.h>\r
22 #include <EGL/eglplatform.h>\r
23 #else\r
24 #if defined(_IRR_OGLES2_USE_EXTPOINTER_)\r
25         #define GL_GLEXT_PROTOTYPES 1\r
26         #define GLX_GLXEXT_PROTOTYPES 1\r
27 #endif\r
28 #include <GLES2/gl2.h>\r
29 #include <EGL/eglplatform.h>\r
30 typedef char GLchar;\r
31 #if defined(_IRR_OGLES2_USE_EXTPOINTER_)\r
32 #include <GLES2/gl2ext.h>\r
33 #endif\r
34 #endif\r
35 \r
36 #ifndef GL_BGRA\r
37 #define GL_BGRA 0x80E1;\r
38 #endif\r
39 \r
40 // FBO definitions.\r
41 \r
42 #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 1\r
43 #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 2\r
44 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS 3\r
45 \r
46 // to check if this header is in the current compile unit (different GL implementation used different "GLCommon" headers in Irrlicht\r
47 #define IRR_COMPILE_GLES2_COMMON\r
48 \r
49 namespace irr\r
50 {\r
51 namespace video\r
52 {\r
53 \r
54         // Forward declarations.\r
55 \r
56         class COpenGLCoreFeature;\r
57 \r
58         template <class TOpenGLDriver>\r
59         class COpenGLCoreTexture;\r
60 \r
61         template <class TOpenGLDriver, class TOpenGLTexture>\r
62         class COpenGLCoreRenderTarget;\r
63 \r
64         template <class TOpenGLDriver, class TOpenGLTexture>\r
65         class COpenGLCoreCacheHandler;\r
66 \r
67         class COGLES2Driver;\r
68         typedef COpenGLCoreTexture<COGLES2Driver> COGLES2Texture;\r
69         typedef COpenGLCoreRenderTarget<COGLES2Driver, COGLES2Texture> COGLES2RenderTarget;\r
70         typedef COpenGLCoreCacheHandler<COGLES2Driver, COGLES2Texture> COGLES2CacheHandler;\r
71 \r
72 }\r
73 }\r
74 \r
75 #endif\r
76 #endif\r