【问题标题】:WGL: possible to find offscreen context and render to window?WGL:可以找到屏幕外上下文并渲染到窗口吗?
【发布时间】:2012-07-12 03:46:18
【问题描述】:

有一个有趣的浏览器框架叫做Awesomium,它基本上是Chromium 浏览器引擎的一个包装器。

我有兴趣使用它为桌面重新分发基于 WebGL 的游戏。然而,Awesomium 仅支持使用发送到 CPU 的像素缓冲区进行渲染,即使 WebGL 上下文本身基于真实的硬件加速 OpenGL 上下文。这对于实时高性能游戏来说效率很低,并且可能会在低端机器上降低帧率。

Awesomium 最终可能会解决这个问题,但它让我思考:是否可以在进程中搜索屏幕外 OpenGL 上下文并将其直接渲染到窗口?这将避免低效的渲染方法,完全在 GPU 上进行渲染。我在 Windows 上使用本机 C++ 应用程序,所以大概这将涉及 WGL 细节。此外,由于 Chromium 是一个多线程浏览器引擎,它可能涉及在不同线程上查找 OpenGL 上下文或在不同进程中查找事件。有可能吗?

【问题讨论】:

    标签: c++ windows opengl webgl chromium


    【解决方案1】:

    是否可以在进程中搜索屏幕外 OpenGL 上下文并将其直接渲染到窗口?

    不,这不可能。如果为 OS 缓冲区创建了 opengl 上下文,则无法将其重定向到其他缓冲区和其他 opengl 上下文。

    也许您可以使用共享的 opengl 资源(如果两个 opengl 上下文都是使用此类选项创建的)。

    【讨论】:

      猜你喜欢
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 2012-09-21
      • 1970-01-01
      • 2014-08-26
      相关资源
      最近更新 更多