我正在尝试在Windows中混合使用OpenGL渲染和GDI。之前我将OpenGL内容渲染到一个帧缓冲对象中,然后提取它,将其合成到Windows的GDI图形上下文中,然后再在上面绘制我的GDI东西。这样做会大大降低帧率。
我想做与现在相反的事情,让我的OpenGL渲染直接作用于窗口,然后将GDI内容渲染到位图中,上传到纹理中,然后使用四边形叠加。GDI内容并不经常更改,所以我不需要每帧重新绘制它,我可以缓存纹理。
我几乎做到了,但问题是我似乎无法从GDI位图中获取正确的alpha值,因此文本和线条出现了可怕的锯齿。
有没有任何有用的资源可以教我如何做到这一点?是否可能使GDI或GDI+以我所需的方式写入Alpha通道?
我想做与现在相反的事情,让我的OpenGL渲染直接作用于窗口,然后将GDI内容渲染到位图中,上传到纹理中,然后使用四边形叠加。GDI内容并不经常更改,所以我不需要每帧重新绘制它,我可以缓存纹理。
我几乎做到了,但问题是我似乎无法从GDI位图中获取正确的alpha值,因此文本和线条出现了可怕的锯齿。
有没有任何有用的资源可以教我如何做到这一点?是否可能使GDI或GDI+以我所需的方式写入Alpha通道?