Я пытаюсь найти способ смешать рендеринг OpenGL и GDI в Windows. Ранее я рендерил свое содержимое OpenGL в объект framebuffer, извлекал его, а затем помещал в графический контекст Windows GDI, а затем рисовал мой материал GDI поверх. Это действительно наносит вред частоте кадров.
Я хотел бы сделать противоположное тому, что я делаю сейчас, поэтому мой рендеринг OpenGL выполняется непосредственно в окне, а затем я рендерирую GDI-контент в растровое изображение, которое загружается в текстуру, а затем накладывается с помощью четырехугольника. Материал GDI не сильно меняет все, поэтому мне не нужно перерисовывать его каждый кадр, я могу просто кэшировать текстуру.
Я почти могу заставить его работать, проблема в том, что я не могу получить правильные альфа-значения из растрового изображения GDI, поэтому текст и строки получают ужасные неровности.
У кого-нибудь есть полезные ресурсы, как это сделать? Можно ли даже заставить GDI или GDI + записывать в альфа-канал так, как мне нужно?