Вопросы о настройках OpenGL и рисовании над маской в ​​окне - PullRequest
1 голос
/ 04 ноября 2010

Я хотел бы знать настройки рендеринга OpenGL для того, чтобы программа рендерила OpenGL поверх любого окна на экране, имеющего определенный цветовой код (буфер уровня экрана?)

т.е. VLC Media Player и Media Player Classic оба имеют режимы рендеринга, которые позволяют вам работать в полноэкранном режиме, а затем свернуть проигрыватель, но при этом поддерживать просмотр мультимедиа, позволяя определенному цвету действовать как прозрачная маска. Например, вы можете установить цвет фона для терминального приложения равным 0x000010 для VLC 0x000001 для MPC, а затем вы можете печатать на носителе с помощью текста (так как он имеет свой оригинальный цвет). Когда вы пытаетесь сделать «принтскрин», все, что вы получаете, это цвет маски, однако это приемлемый побочный эффект.

Возможно ли сделать это также с любым приложением OpenGL с правильными настройками и оборудованием? Если да, каковы настройки или хотя бы терминология этого эффекта для дальнейшего исследования?

1 Ответ

0 голосов
/ 13 февраля 2012

То, что вы пытаетесь реализовать, называется " overlay ".Вы можете попробовать этот учебник ангелкода .Если я правильно помню, в DirectX SDK был также учебник.

Если вам нужно использовать OpenGL, вам нужно будет выполнить закадровый рендеринг (используя FBO или P-буфер), прочитайте результаты с помощью glReadPixels ()и отображать с помощью оверлея.

...