【发布时间】:2016-03-18 09:58:13
【问题描述】:
这是我的代码:
void Game::init()
{
SDL_Init(SDL_INIT_EVERYTHING);
_window = SDL_CreateWindow("Game Engine", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, _screenWidth, _screenHeight, SDL_WINDOW_OPENGL);
}
由于某种原因,这不起作用,但是当我将 SDL_WINDOW_OPENGL 替换为 SDL_WINDOW_RESIZABLE 或 SDL_WINDOW_FULLSCREEN 之类的东西时,它可以正常工作。当我使用SDL_WINDOW_OPENGL | SDL_WINDOW_FULLSCREEN 时它也不起作用。有什么我能做的吗?
我在 Ubuntu 上使用 Kdevelop,如果这有什么不同的话。
更新:
所以我知道出了什么问题。事实证明,当您构建同时支持 GLX 和 EGL 的 SDL 时,它总是使用 EGL。我必须用--disable-video-opengles编译它
【问题讨论】:
-
SDL_GetError()说什么? -
@TristanBrindle 它说“视频驱动程序不支持 OpenGL”...这很奇怪,因为我知道我的驱动程序支持它。
-
嗯,这给了你关于它为什么不工作的答案......我会检查你的视频驱动程序的安装,或者你的 SDL 库的编译标志
-
@TristanBrindle 好的,谢谢!