2014-10-04 85 views
1

在SDL2中,是否可以销毁窗口,同时保留为其创建的GL上下文?在保留GL上下文的同时删除SDL2窗口

我想让用户切换无边框窗口模式,据我所知,需要重新创建窗口。如果由于不得不创建新的GL上下文而不必重新加载所有GL资源,这将是理想的。

我可以只销毁窗口并将现有的GL上下文作为新窗口的当前上下文,或者销毁窗口销毁/无效为其创建的OpenGL上下文吗?我只能找到共享上下文的文档,但不能回收它。

回答

1

SDL_SetWindowBordered(SDL_Window*, SDL_bool);

我不知道该回答你的问题,但。

+0

哦,整洁,谢谢!我认为这足以作为答案。显然,调整全屏模式下的SDL窗口可能会使所有GL资产无效(可能不在新版本的SDL2中),所以我认为解决方案我的问题不会很好。我不确定我在寻找什么,我没有找到这个功能。 – Jengerer 2014-10-04 03:39:09

+2

@Jengerer另一件需要注意的事情是,今天流行的事情是让窗口永远不会变成'全屏',而只是变得无边界和显示器的大小。以这种方式工作要容易得多。 – BWG 2014-10-04 16:05:14

+0

谢谢,我知道那个窍门。从我记忆中来看,它有一些不是全屏的表现,所以最终我认为最好的选择是允许用户切换全屏行为(就像很多新游戏一样)。 – Jengerer 2014-10-05 03:13:18