目次 - SDL 3.0 API(機能別) - ディスプレイとウィンドウ - SDL_GL_SetAttribute

SDL_GL_SetAttribute

ウィンドウを生成する前にOpenGLウィンドウの属性を設定する

ヘッダ

SDL3/SDL_video.h

構文

bool SDL_GL_SetAttribute(SDL_GLAttr attr, int value);

引数

SDL_GLAttrattr設定するOpenGL属性 (詳細を参照すること)
intvalue設定する属性の値

戻り値

(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数はOpenGL属性attrの値をvalueに設定する. 属性はOpenGLウィンドウを生成する前に設定する必要がある. 要求した値とは異なることがありうるので, OpenGLコンテキストを生成した後にSDL_GL_GetAttribute()で値をチェックする必要がある.

attrはSDL_GLattr列挙体の値の1つである.

スレッドセーフ

この関数を呼べるのはメインスレッドのみである.

バージョン

SDL 3.2.0以降

サンプルコード

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);

関連項目

SDL Wikiへのリンク

SDL_GL_SetAttribute - SDL Wiki