使用 GDI 绘制 opengl/D3D?

jay*_*lee 4 c windows opengl direct3d gdi

我想知道是否可以使用 GDI 在 opengl/direct3D 表面上绘图?如果是这样,怎么做?

我问的原因是因为我正在编写一个简单的应用程序来在游戏中绘制一些东西。这些东西都是 2D 或文本,例如帧率信息、自定义十字准线、时钟等。

我知道最好的方法是连接并使用渲染器/游戏本机使用的任何内容,无论是 opengl 还是 direct3d,但我正在查看 GDI,因为 AFAIK opengl 和 D3D 都位于我希望可以成为的设备上下文中用 GDI 画画。

Jer*_*fin 5

你通常不能直接做到这一点。理论上,当且仅当 OpenGL/DirectX 设置为使用单缓冲而不是双缓冲时,您才能将 GDI 与 OpenGL 或 DirectX 混合使用。然而,这只是理论上的可能性,因为几乎所有 DirectX 和 OpenGL 的使用都是双缓冲。

我会尝试其他方法,例如在无边界分层窗口中绘制数据。