关于GLFW,我有一个在OpenGL中有窗口的程序,还有一个带有Vulkan的窗口。在创建我设置的Vulkan窗口时
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);当我创建OpenGL时
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);我的问题是在创建Vulkan窗口之后,我无法创建任何其他新窗口。如果我调用glfwCreateWindow,它就不起作用了。
Glfw错误65546:指定的窗口没有上下文
(在使用ImGUI和多个视图时,我发现这是一个问题。当从主窗口拖出时会创建新窗口)
windows上的创建在不同的线程上。其中一个如何影响其他功能,以及如何恢复功能以使OpenGL上下文返回。这样我就能创造更多的窗户了?我在这里漏掉了什么。谢谢。
发布于 2022-09-28 11:00:54
在创建OpenGL窗口之前,必须再次通过以下方式将客户端API设置为OpenGL:
glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_API);这样GLFW还会创建一个OpenGL上下文(而不仅仅是窗口)。此设置的默认设置是GLFW_OPENGL_API,但当通过glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);显式禁用Vulkan的OpenGL上下文创建时,必须为OpenGL窗口重新启用OpenGL上下文创建。
请参阅:https://www.glfw.org/docs/3.3/window_guide.html#GLFW_CLIENT_API_hint
https://stackoverflow.com/questions/73880258
复制相似问题