mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-10-26 12:27:30 +00:00 
			
		
		
		
	Examples: SDL2+OpenGL3: Provide ES3 context creation code + failure handling. (#8197)
This commit is contained in:
		| @@ -35,12 +35,19 @@ int main(int, char**) | ||||
|  | ||||
|     // Decide GL+GLSL versions | ||||
| #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"; | ||||
|     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, 2); | ||||
|     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__) | ||||
|     // GL 3.2 Core + GLSL 150 | ||||
|     const char* glsl_version = "#version 150"; | ||||
| @@ -75,6 +82,12 @@ int main(int, char**) | ||||
|     } | ||||
|  | ||||
|     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_SetSwapInterval(1); // Enable vsync | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Thomas Hope
					Thomas Hope