如何将 HWND 作为 GLFWwindow* 传递?

How to pass an HWND as a GLFWwindow*?

我有一个 HWND,我一直将其用作 OpenGL 绘制操作的目标,对于我正在制作的应用程序的其他实用程序,它必须是 HWND 而不是 GLFWwindow。问题是,我需要在使用 FreeType 渲染文本的纹理上加载和使用着色器。不幸的是,glfwSetFramebufferSizeCallback()glfwSwapBuffers() 等函数需要 GLFWwindow*。有什么办法可以将普通的 HWND 作为 GLFWwindow 传递吗?

“在罗马时”...

只需将您的 OpenGL window 保留为 GLFWwindow

当(如果?)你真的需要 HWND,使用 glfwGetWin32Window