我正在尝试找出一种在 Windows 中混合 OpenGL 渲染和 GDI 的方法。以前我一直将我的 OpenGL 内容渲染到一个帧缓冲区对象中,将其提取出来,然后将其放入 windows GDI 图形上下文中,然后在顶部绘制我的 GDI 内容。这真的会削弱帧率。
我想做与我现在正在做的相反的事情,所以我的 OpenGL 渲染直接在窗口上完成,然后我将 GDI 的东西渲染到一个位图,该位图被上传到纹理,然后使用四边形覆盖。GDI 的东西并没有太大的变化,所以我不需要每帧都重新绘制它,我可以缓存纹理。
我几乎可以让它工作,问题是我似乎无法从 GDI 位图中获得正确的 alpha 值,因此文本和线条会出现可怕的锯齿。
有没有人有任何有用的资源来做到这一点?甚至可以让 GDI 或 GDI+ 以我需要的方式写入 alpha 通道吗?