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
5 #ifndef __C_OGLES2_COMMON_H_INCLUDED__
\r
6 #define __C_OGLES2_COMMON_H_INCLUDED__
\r
8 #include "IrrCompileConfig.h"
\r
10 #ifdef _IRR_COMPILE_WITH_OGLES2_
\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
24 #if defined(_IRR_OGLES2_USE_EXTPOINTER_)
\r
25 #define GL_GLEXT_PROTOTYPES 1
\r
26 #define GLX_GLXEXT_PROTOTYPES 1
\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
37 #define GL_BGRA 0x80E1;
\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
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
54 // Forward declarations.
\r
56 class COpenGLCoreFeature;
\r
58 template <class TOpenGLDriver>
\r
59 class COpenGLCoreTexture;
\r
61 template <class TOpenGLDriver, class TOpenGLTexture>
\r
62 class COpenGLCoreRenderTarget;
\r
64 template <class TOpenGLDriver, class TOpenGLTexture>
\r
65 class COpenGLCoreCacheHandler;
\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