2013-06-26 65 views
0

上可以說我有一個OpenGL窗口,我所說的過剩功能glutFullScreen()。我的OpenGL窗口是全屏的,這部分是確定的。如何同時擁有全屏,無焦點的OpenGL窗口

不知道如何把它的背景和處理所有的點擊/鼠標/鍵盤交互,就好像不存在這個特定的窗口(但仍保持全屏視圖)?

回答

0

究竟是什麼,你盡力去完成?你想渲染一個屏幕大小的圖像,但不希望渲染是可見的?

只要使用此幀緩衝區對象(FBO),這使得渲染獨立窗口的可見性或大小。

+0

想象一下,你拿相機拍攝的畫面,然後投影膠片回一個窗口,它是在你的面前的。您的鼠標和鍵盤仍然在您的第一個屏幕上與您的應用程序進行交互,但您實際上正在看電影。 然後你可以對你錄製的電影做任何你想做的事情,例如旋轉它,應用它的效果等等。 現在,回到我的關心,我想渲染的場景是一個全屏窗口(我希望看到它),但是,我想我的鼠標和鍵盤不能與它進行交互,與什麼是交互「在這個全屏窗口後面。 –

+0

@Al_th:恐怕這並不平凡。本質上,當你點擊一個窗口的可見部分時,窗口管理器將把所有事件指向該窗口。鍵盤事件略有不同,因爲在這種情況下,它是相關的焦點。 **然而**你所描述的聲音是你想要實現的*窗口合成*:使用OpenGL渲染桌面上的窗口,以便你可以應用各種漂亮的效果。有特殊的API來實現合成,這也關注輸入重定向。但是合成API依賴於操作系統。 – datenwolf

+0

@Al_th:在Linux/X11上實現合成比在Windows上更容易實現。由於Windows Vista有一個合成器API可用,但是當您使用它時,您必須替換Windows Vista合成器。 – datenwolf