SDL2:如何同时拥有SDL2菜单和OpenGL上下文?

时间:2014-11-15 21:32:05

标签: c++ opengl sdl-2

我正在尝试设计一个SDL2应用程序,它有一个主菜单(用几个SDL2纹理创建),有几个选项。

每当单击其中一个选项时,就会出现一个OpenGL上下文,要么替换当前窗口,要么创建一个新窗口(并隐藏当前窗口,其中包含主菜单)。稍后,在事件发生后(例如,按键盘键),菜单应该再次出现。

问题是:每当我在具有主菜单的SDL_Window对象中创建OpenGL上下文时,以后似乎无法恢复菜单。它没有被渲染。

问题是:是否可以在同一个窗口中同时拥有sdl纹理元素和opengl上下文?当然不是在同一时间:我想一次使用其中一个,用另一个替换。

如果答案是肯定的,我该如何实现?

1 个答案:

答案 0 :(得分:0)

经过一番研究,我发现这不太可能。在SDL中初始化OpenGL之后,您无法再使用任何SDL绘图功能:您必须坚持使用OpenGL来完成所有菜单,或者只使用SDL一次(=初始化OpenGL之前)。

SDL几乎只对事件负责。