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

SDL_GL_SwapWindow

OpenGLレンダリングでウィンドウを更新する

ヘッダ

SDL3/SDL_video.h

構文

bool SDL_GL_SwapWindow(SDL_Window *window);

引数

SDL_Window *window設定するウィンドウ

戻り値

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

詳細

この関数はダブルバッファのOpenGLコンテキストで使う(デフォルト).

macOSでは, ウィンドウを切り替える前に描画するフレームバッファを0にバインドすること. そうしないと何も起こらない. glBindFramebuffer()を使わないのであれば, これがデフォルトで, 他に何かする必要はない.

スレッドセーフ

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

バージョン

SDL 3.2.0以降

サンプルコード

SDL_Window* window = SDL_CreateWindow("SDL3/OpenGL Demo", 640, 480, SDL_WINDOW_OPENGL|SDL_WINDOW_RESIZABLE);

/* windowと関連付けられたOpenGLコンテキストを生成する */
SDL_GLContext glcontext = SDL_GL_CreateContext(window);

/* モニタの垂直リフレッシュとバッファの切り替えを同期させる */
SDL_GL_SetSwapInterval(1);

/* コンテキストをクリアする */
glClearColor(0,0,0,1);
glClear(GL_COLOR_BUFFER_BIT);

/* <ここに描画関数を記述する> */ 

/* 画面にカレントコンテキストを表示するためにバッファを交換する */
SDL_GL_SwapWindow(window);

SDL Wikiへのリンク

SDL_GL_SwapWindow - SDL Wiki