首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GLFW多窗口多线程OpenGL和Vulkan混合

GLFW多窗口多线程OpenGL和Vulkan混合
EN

Stack Overflow用户
提问于 2022-09-28 10:55:06
回答 1查看 87关注 0票数 2

关于GLFW,我有一个在OpenGL中有窗口的程序,还有一个带有Vulkan的窗口。在创建我设置的Vulkan窗口时

代码语言:javascript
复制
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);

当我创建OpenGL时

代码语言:javascript
复制
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);

我的问题是在创建Vulkan窗口之后,我无法创建任何其他新窗口。如果我调用glfwCreateWindow,它就不起作用了。

Glfw错误65546:指定的窗口没有上下文

(在使用ImGUI和多个视图时,我发现这是一个问题。当从主窗口拖出时会创建新窗口)

windows上的创建在不同的线程上。其中一个如何影响其他功能,以及如何恢复功能以使OpenGL上下文返回。这样我就能创造更多的窗户了?我在这里漏掉了什么。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-28 11:00:54

在创建OpenGL窗口之前,必须再次通过以下方式将客户端API设置为OpenGL:

代码语言:javascript
复制
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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73880258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档