2017-04-19 112 views
0

我是新来的OpenGL和SDL,我遇到了一些我写的基本程序的问题。我缩小了范围,看起来问题在于SDL_CreateRenderer函数与SDL如何管理OpenGL之间的冲突。SDL_Renderer opengl冲突

基本上这个程序是一个简单的游戏,用OpenGL绘制,问题已经随着我创建菜单而上升。由于游戏窗口是使用“SDL_WINDOW_OPENGL”标志创建的,因此我为该菜单创建了另一个窗口。每当我需要在游戏和菜单之间切换时,我只需隐藏并显示我需要的任何窗口。虽然我需要创建一个渲染器,但是如果我尝试返回到OpenGL窗口,所有东西都会崩溃(计算机变慢,所有东西都没有响应...),所以要在菜单窗口上绘制。

任何人都可以猜测问题可能出在哪里?或者任何人都可以提出一个更好的方法来解决我的游戏菜单问题?

+2

您需要提供[MCVE](https://stackoverflow.com/help/mcve)。 – Alden

+0

好的!我在做这个工作!感谢您的建议! –

+0

您是否将GL上下文切换回初始窗口?也许软件渲染器会为你解决它,但我不明白为什么你首先需要单独的窗口。 – keltar

回答

0

不要试图-OP间的OpenGL和SDL_Renderer:即使你可能你的平台没有/没有在OpenGL方面实现SDL_Renderer保证SDL_Renderer API没有任何办法正确地设置/恢复SDL_Renderer使用的OpenGL状态。