我需要編寫應用程序,其中主要內容將被渲染爲OpenGL(類似於遊戲引擎),但是沒有好的基於OpenGL的GUI庫,類似於Qt小部件的功能(但它們是軟件呈現的)。混合OpenGL和軟件渲染GUI
正如我瀏覽的Qt源代碼,所有的繪畫都通過了QPainter完成,甚至還有在OpenGL QPainter的實施,但對於多顯卡後端的suppport Qt中5被放棄了,所以你不能使Qt控件中OpenGL了(我不知道爲什麼)。
問題是,您無法使用軟件和硬件渲染來繪製窗口表面。您可以將窗口與OpenGL上下文關聯或使用軟件渲染。這意味着如果我想用基於OpenGL的內容來處理複雜的GUI應用程序,我需要使用OpenGL繪製所有內容(這很難,因爲我說過,沒有好的GUI庫),或者我可以使用GUI來渲染圖像軟件渲染(例如Qt),並將該圖像加載爲OpenGL紋理(可能性能損失很大)。
有誰知道任何使用軟件渲染GUI作爲紋理加載OpenGL的好應用程序?我需要確保它能夠在沒有大的性能損失的情況下工作,但是無法找到一個很好的例子,即使是像遊戲引擎這樣的應用程序,它也能很好地工作。
你能以其他方式做到嗎?將OpenGL場景渲染爲紋理貼圖,然後將該紋理作爲2D元素放置在GUI中。我認爲這種方法更像Web瀏覽器所做的,將畫布合成到HTML頁面上。 – emackey
emackey:是的,它應該是可能的,但這可能意味着將內存從GPU內存加載到內存,並將其顯示爲圖像,最後將其從內存移回GPU。 – Krab
添加'OpenGL'標籤以獲取更多回復:) – emackey