void SDL_GL_SwapWindow(SDL_Window* window)
window | 設定するウィンドウ |
SDL_Window* window = SDL_CreateWindow("SDL2/OpenGL Demo", 30, 30, 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);
この関数はダブルバッファのOpenGLコンテキストで使う(デフォルト).
macOSでは, ウィンドウを切り替える前に描画するフレームバッファを0にバインドすること. そうしないと何も起こらない. glBindFramebuffer()を使わないのであれば, これがデフォルトで, 他に何かする必要はない.