2014-02-12 343 views
0

我使用的是PowerVR sgx sdk,硬件平臺是一個TI DM8168芯片,在其上運行linux。我做了一個openGL ES2演示,發現openGL演示的背景總是黑色。我也是使用openGL sdk編譯QT庫並用QGLWidget進行Qt演示,但QGLWidget的背景也是黑色的。如何使openGL ES2背景透明

glClearColor(0.0f,0.0f,0.0f,0.0f); deoes不起作用。

先打開fb0,然後畫一些東西。

然後打開GL繪畫。這將覆蓋整個屏幕。

在Qt演示中,QGLWidget來繪圖總是有一個背景涵蓋了Widget背後it.Qt接口可以在不影響openGL的表現。

該powerVR演示didnot談這個。這似乎是一個艱難的事情在嵌入式系統。

我想要像這樣的圖片,背景是一個Qwidget菜單,並且正方形是QGLWidget中的openGL對象,並且QGLWidget的背景是透明的。

父,QT總是直接撕裂的openGL的屏幕,所以人丁內容覆蓋幀緩衝區,其中下部件層其他顯示。

enter image description here

回答

0

這並不難,可以。一個OpenGL(ESX)應用程序,使用QWS在你的情況下總是拿要麼一(全屏)幀緩存(使用NULL窗口系統和獨立openGLESx應用程序時),或者以一個Qt窗口。

爲了能夠讓這個窗口透明,你可以在下面做:

(1)畫出任何你需要的是透明的,到DM8x的DSS平面之一

(2)繪製背景(非透明)框架下平面在DSS

現在你可以使用全球阿爾法設置各平面管理頂層怎麼是可見的。請參閱下面的線索以獲取此方法的示例。

http://e2e.ti.com/support/embedded/linux/f/354/t/70597.aspx

+0

感謝first.But的Qt演示的例子,我把QGLWidget來繪圖上QGLWidget來繪圖的另一個正常QWidget.The backgound將覆蓋正常one.Put成兩個層不會影響backgound.Set QWS背景不會影響QGLWidget的背景。 –