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 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(