Мультисэмплинг SDL / opengl не работает - PullRequest
1 голос
/ 13 января 2011

Я пытаюсь сделать мультисэмплинг с SDL / opengl, но SDL не примет установку SDL_MULTISAMPLEBUFFERS и SDL_MULTISAMPLESAMPLES. Вместо этого они остаются равными 0, а SDL_SetVideoMode () впоследствии завершится ошибкой. Я знаю, что мое оборудование может сделать этот пиксельный формат с 4-кратным мультисэмплингом. Я использую Ubuntu 10.10.

Код:

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

1 Ответ

0 голосов
/ 10 мая 2012

Добавьте эти тесты:

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.

...