qt 4.8.2 qpa QGraphicsView(QGLWidget)渲染产生黑屏

qt 4.8.2 qpa QGraphicsView(QGLWidget)渲染产生黑屏,qt,opengl-es,lighthouse,Qt,Opengl Es,Lighthouse,我试图呈现一些简单的qt应用程序,它使用QGraphicsView和 QGLWidget作为视口(稍微修改的碰撞鼠标)安装在armv7嵌入式平台上 (beagleboard)。按如下方式启动应用程序: collidingmice -platform eglfs 但屏幕总是很暗。(纹理示例工作正常)。 qt lighthouse是否能够像elgfs一样通过开放式平台渲染绘画? 我找不到任何关于它的确切信息。 提前谢谢。我刚看了一下资料来源。驱动程序没有对windows系统进行任何假设,因此它使用

我试图呈现一些简单的qt应用程序,它使用
QGraphicsView
QGLWidget
作为
视口
(稍微修改的碰撞鼠标)安装在
armv7嵌入式平台上
beagleboard
)。按如下方式启动应用程序:

collidingmice -platform eglfs
但屏幕总是很暗。(纹理示例工作正常)。 qt lighthouse是否能够像elgfs一样通过开放式平台渲染绘画? 我找不到任何关于它的确切信息。

提前谢谢。

我刚看了一下资料来源。驱动程序没有对windows系统进行任何假设,因此它使用0作为默认的本机窗口句柄,这通常是正确的。您的平台可能不是这样。您必须修改源,以便为函数EGLCreateWindowsSurface传递有效的本机窗口句柄。我怀疑这可能是黑屏的原因

编辑:我不知道libpvrPVR2D_FRONTWSEGL.so库到底是做什么的,但根据名称,它可能会在帧缓冲区上提供本机窗口。阅读那个图书馆的手册


EDIT2:该库实际上提供了窗口系统。看这里:。您还可以使用Qt Embedded而不是Qt QPA,因为PowerVR有一个可用的驱动程序:。

这取决于您的EGL实现和windows系统。这是怎么一回事?我在帧缓冲区上使用过一次eglfs驱动程序,但做了一些轻微的修改,它工作正常。我没有使用任何窗口系统。如果您是指/etc/powervr.ini中的配置,我使用了:libpvrPVR2D_FRONTWSEGL.so(对于直接写入帧缓冲区-前端操作模式-直接写入帧缓冲区而不等待vsync-最快操作模式),我的答案仍然适用,必须在帧缓冲区上提供本机窗口。感谢您的帮助。我理解这个问题。我们不能使用
QWS
,因为
Qt
的未来实现没有它。在qt5中,我们只有
QPA
QWS
高度依赖于
SGX SDK
。是的,qt5不包括QWS,但您询问了Qt 4.8.2。无论如何,如果您使用本机窗口句柄(假设0在您的平台上不正确),那么EGLFS驱动程序应该可以在您的平台上工作。我做了我的,它的工作。无论如何,可能还需要其他修改。你能告诉我你使用了什么硬件平台吗?对不起,我不能提供这些信息。如果我正确理解Ti SDK中的库的功能,它们只为opengl应用程序提供窗口系统。需要创建一些新的窗口系统插件,比如libqwsegl.so。或者使用Qt5,它表示支持使用libpvrPVR2D_FRONTWSEGL.so