【发布时间】:2011-09-22 12:08:13
【问题描述】:
我正在使用 SDL 1.2.14 和其中包含的 OpenGL 绑定用 C++ 编写游戏。
但是,如果游戏处于全屏状态并且我 Alt - Tab 退出然后重新进入游戏,结果是不可预测的。游戏逻辑仍然运行。但是,渲染停止。我只看到在 Alt-tab 之前绘制的游戏的最后一帧
我确保在收到 我猜测 SDL 在最小化我不知道的应用程序时会在后台做一些事情。 有什么想法吗?SDL_APPACTIVE = 1 事件时重新初始化 OpenGL 上下文并重新加载所有纹理,这似乎只适用于一个 Alt - Tab kbd>,然后所有后续 Alt - Tab 将停止渲染(我已确保每次都正确处理 SDL_APPACTIVE 并相应地设置上下文。)
【问题讨论】:
-
祝你好运!这是我自己从未满意地弄清楚的事情之一。我真的很想听到答案。
-
这个问题是关于什么平台的?对于 Windows,stackoverflow.com/questions/972299/… 用于 directX,但可能提供指针。
-
您确定是 SDL 而不是 OpenGL 导致了问题吗?例如,您是否在收到初始事件时释放纹理、缓冲区和其他 GL 资源?您是否通过调用 SDL_SetVideoMode 正确响应 SDL_VIDEORESIZE 事件?最后,你试过SDL forums吗?我敢打赌,那里有人问过同样的问题。
标签: c++ opengl sdl fullscreen alt-tab