【问题标题】:Deleting SDL2 window while preserving the GL context在保留 GL 上下文的同时删除 SDL2 窗口
【发布时间】:2014-10-04 02:31:22
【问题描述】:

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

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

我可以只销毁窗口并使现有的 GL 上下文成为新窗口的当前上下文,还是销毁窗口会破坏/使为其创建的 OpenGL 上下文无效?我只能找到用于共享上下文的文档,而不是用于回收它的文档。

【问题讨论】:

    标签: c++ opengl sdl-2


    【解决方案1】:

    SDL_SetWindowBordered(SDL_Window*, SDL_bool);

    我不知道你的问题的答案。

    【讨论】:

    • 哦,太好了,谢谢!我认为就答案而言,这就足够了。显然,在全屏模式下调整 SDL 窗口的大小可能会使所有 GL 资产无效(可能不在 SDL2 的较新版本中),所以我认为我的问题不会很好地解决我的问题。我不确定我在搜索什么,我没有找到这个功能。
    • @Jengerer 另外要注意的是,今天流行的做法是让窗口永远不要“全屏”,而只是变成无边框和显示器的大小。使用这种方式会容易得多。
    • 谢谢,我确实知道这个技巧。不过,据我所知,由于不是全屏,它对性能有一些影响,所以最终我认为最好的选择是允许用户切换全屏行为(正如许多新游戏所做的那样)。
    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多