是否可以在已经使用 GDI 的窗口中使用 OpenGL?
基本上我被要求渲染到一个离屏 DC,该 DC 设置为(我不知道如何)使用 GDI+。 当我尝试将 OpenGL 上下文与 DC 关联时,它失败了(即返回零但没有错误)。 SetPixelFormat 也失败(可能是因为它已经设置了?),再次返回零,而不是错误。
任何人都知道在这种情况下(即其他人正在使用 GDI+ 的窗口的屏幕外上下文)是否可以创建 OpenGL 上下文并使用 OpenGL 进行我自己的渲染? (如果可能的话,为什么 wglCreateContext 会失败?)
Basically I am being called to render to an offscreen DC which is set up (I'm not sure how) to use GDI+. When I try to associate an OpenGL context with the DC, it just fails (i.e. returns zero but no error). SetPixelFormat also fails (probably because it is already set up?), again by returning zero, not an error.
Anyone know whether it is possible, given such a situation (i.e. offscreen context for a window into which someone else is using GDI+), to create an OpenGL context and use OpenGL for my own rendering? (And if it is possible, why might the wglCreateContext be failing?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
本文向您展示了连接 GDI 窗口的所有步骤: http ://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01
本质上,您必须:
如果您已经有权访问设备上下文,请跳过前两个步骤。
就您的情况而言,您可能会看到 wglMakeCurrent 是否就是您所需要的。 否则,您可能需要发布有关您遇到的错误和行为的更多详细信息。
This article shows you all of the steps to hook up a GDI window: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01
Essentially, you have to:
If you already have access to the device context, skip the first two steps.
In your case, you might see if wglMakeCurrent is all you need. Otherwise, you might want to post more details about the errors and behaviors you are experiencing.