2011-01-13 10 views
1

Ich versuche, Multisampling mit SDL/opengl zu tun, aber SDL akzeptiert SDL_MULTISAMPLEBUFFERS und SDL_MULTISAMPLESAMPLES nicht zu setzen. Stattdessen bleiben diese bei 0 und SDL_SetVideoMode() wird danach fehlschlagen. Ich weiß, dass meine Hardware dieses Pixelformat mit 4x Multisampling ausführen kann. Ich benutze Ubuntu 10.10.SDL/opengl Multisampling funktioniert nicht

Code:

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

Was ist Ihre Grafikkarte und Treiber? – SurvivalMachine

+0

GF7950GT mit Treiber 260.19.06 auf Linux-x86_64 – gufftan

Antwort

0

diese Tests hinzufügen:

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

und

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

dann stderr-Ausgabe sehen.

Verwandte Themen