|
@@ -35,12 +35,19 @@ int main(int, char**)
|
|
|
|
|
|
// Decide GL+GLSL versions
|
|
// Decide GL+GLSL versions
|
|
#if defined(IMGUI_IMPL_OPENGL_ES2)
|
|
#if defined(IMGUI_IMPL_OPENGL_ES2)
|
|
- // GL ES 2.0 + GLSL 100
|
|
|
|
|
|
+ // GL ES 2.0 + GLSL 100 (WebGL 1.0)
|
|
const char* glsl_version = "#version 100";
|
|
const char* glsl_version = "#version 100";
|
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, 0);
|
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, 0);
|
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);
|
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);
|
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2);
|
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2);
|
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
|
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
|
|
|
|
+#elif defined(IMGUI_IMPL_OPENGL_ES3)
|
|
|
|
+ // GL ES 3.0 + GLSL 300 es (WebGL 2.0)
|
|
|
|
+ const char* glsl_version = "#version 300 es";
|
|
|
|
+ SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, 0);
|
|
|
|
+ SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);
|
|
|
|
+ SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
|
|
|
|
+ SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
|
|
#elif defined(__APPLE__)
|
|
#elif defined(__APPLE__)
|
|
// GL 3.2 Core + GLSL 150
|
|
// GL 3.2 Core + GLSL 150
|
|
const char* glsl_version = "#version 150";
|
|
const char* glsl_version = "#version 150";
|
|
@@ -70,6 +77,12 @@ int main(int, char**)
|
|
}
|
|
}
|
|
SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED);
|
|
SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED);
|
|
SDL_GLContext gl_context = SDL_GL_CreateContext(window);
|
|
SDL_GLContext gl_context = SDL_GL_CreateContext(window);
|
|
|
|
+ if (gl_context == nullptr)
|
|
|
|
+ {
|
|
|
|
+ printf("Error: SDL_GL_CreateContext(): %s\n", SDL_GetError());
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+
|
|
SDL_GL_MakeCurrent(window, gl_context);
|
|
SDL_GL_MakeCurrent(window, gl_context);
|
|
SDL_GL_SetSwapInterval(1); // Enable vsync
|
|
SDL_GL_SetSwapInterval(1); // Enable vsync
|
|
SDL_ShowWindow(window);
|
|
SDL_ShowWindow(window);
|