2014-02-12 286 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的背景。 –