Set an OpenGL window attribute before window creation.
Defined in <SDL3/SDL_video.h>
bool SDL_GL_SetAttribute(SDL_GLAttr attr, int value);
SDL_GLAttr | attr | an SDL_GLAttr enum value specifying the OpenGL attribute to set. |
int | value | the desired value for the attribute. |
(bool) Returns true on success or false on failure; call SDL_GetError() for more information.
This function sets the OpenGL attribute attr
to value
. The requested attributes should be set before creating an OpenGL window. You should use SDL_GL_GetAttribute() to check the values after creating the OpenGL context, since the values obtained can differ from the requested ones.
This function should only be called on the main thread.
This function is available since SDL 3.1.3.
SDL_Window *window;
SDL_GLContext context;
5);
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 16);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 1);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,
"OpenGL Window", 640, 480, SDL_WINDOW_OPENGL);
window = SDL_CreateWindow(if (!window) {
"Couldn't create window: %s\n", SDL_GetError());
fprintf(stderr, return 1;
}
context = SDL_GL_CreateContext(window);if (!context) {
"Couldn't create context: %s\n", SDL_GetError());
fprintf(stderr, return 1;
}
int r, g, b;
SDL_GL_GetAttribute(SDL_GL_RED_SIZE, &r);
SDL_GL_GetAttribute(SDL_GL_GREEN_SIZE, &g);
SDL_GL_GetAttribute(SDL_GL_BLUE_SIZE, &b);
"Red size: %d, Green size: %d, Blue size: %d\n", r, g, b); printf(