glfw如何破坏主循环中的窗口

马克西姆

我正在尝试使用glfw开发一个程序,该程序在主循环中关闭窗口。但是,我得到了这个奇怪的运行时错误:

X Error of failed request:  GLXBadDrawable
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  11 (X_GLXSwapBuffers)
  Serial number of failed request:  158
  Current serial number in output stream:  158

这是我正在尝试运行的代码

#include <GL/glfw3.h>

int main()
{
    GLFWwindow* window;

    if(!glfwInit())
        return -1;

    window = glfwCreateWindow(400, 400, "window", nullptr, nullptr);

    if(!window)
    {
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(window);

    while(!glfwWindowShouldClose(window))
    {
        glfwDestroyWindow(window);

        glfwSwapBuffers(window);

        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

有什么方法可以从主循环内部破坏窗口吗?

A.金

是的,您可以glfwDestroyWindow在主循环中调用这是我的方法。

#include <GLFW/glfw3.h>

int main()
{
    GLFWwindow* window;
    
    if(!glfwInit())
        return -1;

    window = glfwCreateWindow(400, 400, "My Window", NULL, NULL);

    if(!window)
    {
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(window);

    while(!glfwWindowShouldClose(window))
    {
        if (glfwGetKey(window, GLFW_KEY_Q) == GLFW_PRESS)
        {
            glfwDestroyWindow(window);
            break;
        }

        glfwSwapBuffers(window);

        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

按Q键破坏窗口。尝试运行此代码以查看其是否有效。我运行了这段代码,该过程仅返回0而不打印任何错误消息。我不明白为什么它不适合您。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在if循环中破坏代码?

来自分类Dev

在事件的主循环中获取X11窗口

来自分类Dev

如何处理主游戏循环中的按键事件?

来自分类Dev

如何处理主游戏循环中的按键事件?

来自分类Dev

在主循环中运行代码

来自分类Dev

在主循环中缩放精灵

来自分类Dev

如何使用ajax在循环中获得每个不同的表单破坏值?

来自分类Dev

在Gtk主循环中运行的Asyncio调用

来自分类Dev

在Tkinter主循环中录制OpenCV视频

来自分类Dev

主游戏循环中的时间计算

来自分类Dev

在Tkinter主循环中录制OpenCV视频

来自分类Dev

在主div循环中添加3 div

来自分类Dev

如何获取FlutterWindow的GLFW窗口ID

来自分类Dev

Pygame:如何在我的主游戏循环中调用定义在类内的变量?

来自分类Dev

如何在主游戏循环中使用 sfml 只播放一次声音

来自分类Dev

foreach循环中按钮的弹出窗口PHP

来自分类Dev

字符串字符处理:如何将后处理循环合并到主循环中?

来自分类Dev

在while循环中“ n”次之后破坏UL标签

来自分类Dev

在while循环中“ n”次后破坏UL标签

来自分类Dev

如何关闭viber主窗口

来自分类Dev

如何防止主窗口关闭

来自分类Dev

如何从主窗口打开子窗口

来自分类Dev

终止glfw并关闭任何打开的窗口是否会使用所述窗口破坏任何opengl上下文?

来自分类Dev

如何避免循环中的条件

来自分类Dev

如何从bash的if循环中“突破”?

来自分类Dev

如何在for循环中倒数?

来自分类Dev

如何从for循环中设置文本?

来自分类Dev

如何命名循环中的元素?

来自分类Dev

如何在for循环中求和