c–SDL2– 检查是否创建了OpenGL上下文

c–SDL2– 检查是否创建了OpenGL上下文,第1张

概述我正在使用SDL2&创建一个应用程序. OpenGL,它在3台不同的计算机上运行良好.但是在另一台计算机(更新的arch linux)上,它没有,它崩溃了这个错误:OpenGL context already created 所以我的问题是:如何检查是否已经创建了OpenGL上下文?然后,如果它已经创建,我该如何获得它的处理?如果我不能这样做,我该如

我正在使用SDL2&创建一个应用程序. OpenGL,它在3台不同的计算机上运行良好.但是在另一台计算机(更新的arch linux)上,它没有,它崩溃了这个错误:

OpenGL context already created

所以我的问题是:如何检查是否已经创建了OpenGL上下文?然后,如果它已经创建,我该如何获得它的处理?

如果我不能这样做,我该如何绕过这个问题?

最佳答案事实上,SDL2实际上并没有要求创建一个OpenGL上下文.但是,如果你要求它在OpenGL完全不起作用的情况下创建一个OpenGL上下文,SDL2会喜欢,自由式,自由式. (实际原因是它在错误检查中做得不好,所以如果X无法创建OpenGL上下文,它会认为是因为已经创建了上下文)

因此,要回答第三个问题(“我如何绕过此问题”),您必须在尝试使用OpenGL之前修复它.数字吧?

要回答第一个和第二个,好吧,没有我知道的API调用…但你可以采用稍微不同的方式:

SDL_Window* window = NulL;SDL_GLContext* context = NulL; // NOTE: This is a pointer!...int main(int argc,char** argv) {    // Stuff here,initialize 'window'    *context = SDL_GL_CreateContext(window);    // More stuff here    if (context) {        // context is initialized!! yay!    }    return 2; // Just to confuse people a bit =P}
总结

以上是内存溢出为你收集整理的c – SDL2 – 检查是否创建了OpenGL上下文全部内容,希望文章能够帮你解决c – SDL2 – 检查是否创建了OpenGL上下文所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/1047232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存