diff --git a/src/Graphics_GL.c b/src/Graphics_GL.c index 66ff1578b..0a381d14c 100644 --- a/src/Graphics_GL.c +++ b/src/Graphics_GL.c @@ -23,8 +23,10 @@ #include #elif defined CC_BUILD_MACOS #include -#elif defined CC_BUILD_GLES +#elif defined CC_BUILD_GLES && defined CC_BUILD_GLMODERN #include +#elif defined CC_BUILD_GLES +#include #else #define GL_GLEXT_PROTOTYPES #include @@ -971,7 +973,13 @@ void Gfx_SetFogMode(FogFunc func) { static GLint modes[3] = { GL_LINEAR, GL_EXP, GL_EXP2 }; if (func == gfx_fogMode) return; +#ifdef CC_BUILD_GLES + /* OpenGL ES doesn't support glFogi, so use glFogf instead */ + /* https://www.khronos.org/registry/OpenGL-Refpages/es1.1/xhtml/ */ + glFogf(GL_FOG_MODE, modes[func]); +#else glFogi(GL_FOG_MODE, modes[func]); +#endif gfx_fogMode = func; } diff --git a/src/_WindowBase.h b/src/_WindowBase.h index c131cd0dd..7da5177f1 100644 --- a/src/_WindowBase.h +++ b/src/_WindowBase.h @@ -143,8 +143,15 @@ void GLContext_Create(void) { EGL_DEPTH_SIZE, GLCONTEXT_DEFAULT_DEPTH, EGL_STENCIL_SIZE, 0, EGL_COLOR_BUFFER_TYPE, EGL_RGB_BUFFER, - EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_SURFACE_TYPE, EGL_WINDOW_BIT, + +#if defined CC_BUILD_GLES && defined CC_BUILD_GLMODERN + EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, +#elif defined CC_BUILD_GLES + EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT, +#else + #error "Can't determine appropriate EGL_RENDERABLE_TYPE" +#endif EGL_NONE };