代码之家  ›  专栏  ›  技术社区  ›  Jeff

在同一应用程序的不同窗口中混合OpenGL和DirectDRAW?

  •  2
  • Jeff  · 技术社区  · 17 年前

    我正在开发一个有两个窗口的应用程序:

    • 窗口1:渲染直接绘制曲面
    • 窗口2:我会 喜欢 让它执行纯粹的opengl调用

    我不想在同一个窗口中混合OpenGL和DirectDRAW。

    我从open gl常见问题中看到( http://www.opengl.org/resources/faq/technical/mswindows.htm 无法在同一窗口内混合API调用。

    所以,我的问题是:一个应用程序可以让一个窗口直接绘制,而另一个应用程序可以使用opengl吗?

    3 回复  |  直到 12 年前
        1
  •  1
  •   Marco M.    17 年前

    在ICD视频驱动程序中当然不存在运行在同一进程中的问题。

    可能最快的方法是注释OpenGL代码并检查应用程序是否崩溃。

    或者,强迫你的OpenGL代码使用微软实现-它是基于XP和基于Vista的Direct3D的软件-不应该有冲突。如果ddraw问题仍然存在,很可能不是ogl的错。

        2
  •  0
  •   Jef    17 年前

    嗯……我已经把opengl的东西隔离到一个线程。这就是你的意思吗?或者,我想你是说开始一个新的过程。

    问题是:我看到了blt上的directdraw代码崩溃。这是随机的,但我担心opengl的东西正在扼杀它。

        3
  •  0
  •   Claudiu    12 年前

    最坏的情况:让你的主程序生成做一种渲染(比如说directdraw)。让它产生一个过程,它做另一种类型(OpenGL)。使用管道在两者之间进行通信。这将要求你有两个过程,这可能是一个解决办法,但它至少会起作用。

    推荐文章