我使用的PowerVR SGX SDK和硬件平台为Ti DM8168芯片了。我linux上运行做出的openGL ES2演示,并发现openGL的演示的背景始终是black.I也编译QT的lib用OpenGL SDK和使用QGLWidget进行Qt演示,但QGLWidget的背景也是黑色。
glClearColor(0.0f,0.0f,0.0f,0.0f); deoes不起作用。
首先打开fb0,画一些东西。
然后打开GL画。这将覆盖整个画面。在Qt演示中,QGLWidget总是有一个后台覆盖它背后的Widget .Qt界面不会影响openGL显示。
powerVR演示没有谈到这一点。在嵌入式系统上看起来很难。
我想要像这张图片一样,背景是一个Qwidget菜单,方块是QGLWidget中的openGL对象,QGLWidget的背景是透明的。
父亲,QT总是直接撕掉openGL屏幕,所以rending内容覆盖了其他底层小部件显示的帧缓冲区。
答案 0 :(得分:0)
这并不难,也有可能。 OpenGL(ESx)应用程序总是绘制到(全屏)帧缓冲区(当使用NULL窗口系统和独立的openGLESx应用程序时),或者在Qt窗口中绘制,如果你使用QWS。
为了能够使这个窗口透明,你可以在下面做:
(1)在DM8x的DSS中的一个平面上绘制您需要透明的任何内容
(2)在DSS
中将背景(非透明)框架绘制到下部平面现在,您可以为每个平面使用全局Alpha设置来管理顶层的可见方式。有关此方法的示例,请参阅以下主题。