SDL_CreateRenderer създава невалиден рендерер

Опитвам се да създам рендиране в SDL2, като правя:

SDL_Init(SDL_INIT_VIDEO);
SDL_Window * w = SDL_CreateWindow("Window", 0, 0, 500, 500 0);
SDL_Renderer * r = SDL_CreateRenderer(w, -1, 0);

но след SDL_CreateRenderer отпечатвам SDL_GetError() и той показва:

Невалиден рендър

При рендиране някои неща се рендират зле (това е част от игра). В същия този компютър на windows работи добре и не показва грешката "Invalid renderer".

Първо изтеглих SDL2 с apt-get install, но по-късно го компилирах от източника и все още имам същия проблем.

Не съм сигурен дали е важно, но използвам Ubuntu 14.04 с gnome shell. Имам видеокарта ati и използвам xserver-xorg драйвер. Използвах fglrx, но имаше друг проблем със SDL, така че го промених.

Някакви улики какво може да се случва или как това може да се поправи?


person Jhon Jhonson    schedule 12.10.2014    source източник
comment
Опитайте това: SDL_Renderer * r = SDL_CreateRenderer(w, -1, SDL_RENDERER_SOFTWARE);   -  person Hemant Gangwar    schedule 15.10.2014
comment
Това също не помогна. Грешката все още се показва, но проблемът с лошото изобразяване очевидно не е свързан с това. Това беше, защото буферът на изображението не беше почистен, преди да бъде използван. В Windows работи добре без почистване на буфера.. Не съм сигурен защо.   -  person Jhon Jhonson    schedule 27.10.2014


Отговори (1)


Лошото изобразяване беше, защото буферът не беше почистен преди да бъде използван. Мислех, че е свързано със SDL_CreateRenderer, защото показваше грешка в linux, а не в ubuntu, но очевидно нямаше нищо общо.

person Jhon Jhonson    schedule 26.10.2014