2011-01-13 11 views
1

SDL/OpenGLでマルチサンプリングを実行しようとしていますが、SDLはSDL_MULTISAMPLEBUFFERSとSDL_MULTISAMPLESAMPLESの設定を受け付けません。代わりに、これらは0のままになり、その後SDL_SetVideoMode()は失敗します。私は自分のハードウェアが4xマルチサンプリングでこのピクセルフォーマットを行うことができることを知っています。私はUbuntu 10.10を実行しています。SDL/OpenGLマルチサンプリングが機能しない

コード:

SDL_Init(SDL_INIT_VIDEO); 
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); 
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); 
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); 
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 0); 
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); 
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); 
SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0); 
SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1); 
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); 
SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); 

Uint32 flags; 
flags = SDL_OPENGL; 
if(m_bFullscreen) 
{ 
    flags = flags | SDL_FULLSCREEN; 
} 
SDL_SetVideoMode(m_sizeX, m_sizeY, 0, flags); 
+0

ビデオカードとドライバについて教えてください。 – SurvivalMachine

+0

Linux-x86_64でドライバ260.19.06を使用したGF7950GT – gufftan

答えて

0

これらのテストを追加します。

if (SDL_Init(SDL_INIT_VIDEO) < 0) { 
    fprintf(stderr, "Unable to initialize SDL: %s\n", SDL_GetError()); 
    EXIT_FAILURE; 
} 

if (SDL_SetVideoMode(m_sizeX, m_sizeY, 0, flags) == NULL) { 
    fprintf(stderr, "Unable to create OpenGL screen: %s\n", SDL_GetError()); 
    SDL_Quit(); 
    EXIT_FAILURE; 
} 

、あなたのstderr出力を監視します。

関連する問題