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() и показывает:

Недопустимый рендерер

При рендеринге некоторые вещи рендерятся плохо (это часть игры). На этом же компе на винде работает хорошо и не показывает ошибку "Неверный рендерер".

Сначала я загрузил SDL2 с помощью apt-get install, но позже скомпилировал его из исходного кода, и у меня все еще есть та же проблема.

Я не уверен, что это важно, но я использую Ubuntu 14.04 с оболочкой gnome. У меня видеокарта 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