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

SDL_GL_SetAttribute

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

構文

int SDL_GL_SetAttribute(SDL_GLattr attr, int value)

引数

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

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. SDL_GetError()を呼んで詳細を知ることができる.

サンプルコード

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", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_OPENGL);
if (!window) {
    fprintf(stderr, "ウィンドウを生成できなかった: %s\n", SDL_GetError());
    return;
}

context = SDL_GL_CreateContext(window);
if (!context) {
    fprintf(stderr, "コンテキストを生成できなかった: %s\n", SDL_GetError());
    return;
}

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

詳細

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

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

関連項目(関数)

SDL_GL_GetAttribute
SDL_GL_ResetAttributes

SDL Wikiへのリンク

SDL_GL_SetAttribute - SDL Wiki