bool SDL_GL_SetAttribute(SDL_GLAttr attr, int value);
| SDL_GLAttr | attr | 設定するOpenGL属性 (詳細を参照すること) |
| int | value | 設定する属性の値 |
この関数はOpenGL属性attrの値をvalueに設定する.
属性はOpenGLウィンドウを生成する前に設定する必要がある.
要求した値とは異なることがありうるので, OpenGLコンテキストを生成した後にSDL_GL_GetAttribute()で値をチェックする必要がある.
attrはSDL_GLattr列挙体の値の1つである.
この関数を呼べるのはメインスレッドのみである.
SDL_Window *window;
SDL_GLContext context;
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
window = SDL_CreateWindow("OpenGL Window", 640, 480, SDL_WINDOW_OPENGL);
if (!window) {
fprintf(stderr, "ウィンドウを生成できなかった: %s¥n", SDL_GetError());
return 1;
}
context = SDL_GL_CreateContext(window);
if (!context) {
fprintf(stderr, "コンテキストを生成できなかった: %s¥n", SDL_GetError());
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);
printf("赤のサイズ: %d, 緑のサイズ: %d, 青のサイズ: %d¥n", r, g, b);