OpenGL の 属性 attr を value にセットします。 セットした属性は、 SDL_SetVideoMode の呼び出しまでは有効になりません。 SDL_SetVideoMode の呼び出しの後は、 SDL_GL_GetAttribute を使って値をチェックすべきです。
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 );
if ( (screen=SDL_SetVideoMode( 640, 480, 16, SDL_OPENGL )) == NULL ) {
fprintf(stderr, "GL モードを設定できませんでした: %s\n", SDL_GetError());
SDL_Quit();
return;
}Note: OpenGL ビデオモードをセットする時、 ダブルバッファを有効にするためには SDL_DOUBLEBUF は必要ではありません。 ダブルバッファは SDL_GL_DOUBLEBUFFER 属性を使うことで 有効または無効になります。