2014-10-12 290 views
2

我試圖創造做在SDL2渲染:SDL_CreateRenderer創建無效渲染

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安裝,但我後來從源代碼編譯它,我仍然有同樣的問題。

我不確定它是否重要,但我使用gnome shell運行Ubuntu 14.04。我有一個ati顯卡,我正在使用xserver-xorg驅動程序。我使用的是fglrx,但SDL有另一個問題,所以我改變了它。

任何有關可能發生的事情的線索或如何解決這個問題?

+0

試試這個:'SDL_Renderer * r = SDL_CreateRenderer(w,-1,SDL_RENDERER_SOFTWARE);' – 2014-10-15 11:57:41

+0

這也沒有幫助。錯誤仍然顯示,但顯然不好的問題顯然沒有與此有關。這是因爲圖像緩衝區在使用之前未被清理。在Windows中,它沒有清理緩衝區工作正常。不知道爲什麼。 – 2014-10-26 23:32:52

回答

0

糟糕的渲染是因爲緩衝區在使用前未被清理。我認爲它與SDL_CreateRenderer有關,因爲它在linux中顯示錯誤,而不是在Ubuntu中,但顯然它沒有任何關係。