我正在努力让Qt和EGL一起工作。我正在研究一个使用EGL绘制的程序,我必须使用Qt来创建GUI覆盖。
当前的解决方案是将QWidget转换为本机窗口,并将其窗口句柄传递给EGL。这有效,但很难使用。 Qt不知道该小部件是由其他东西绘制的。因此,当另一个小部件重叠时,即使它是透明的,EGL绘制的图像也会被删除。让它们工作的唯一方法是,如果我将按钮和其他GUI元素拼接在一起,它们不会与我想要显示的本机窗口的部分重叠。但是,这意味着我无法使用布局或QML或任何可以轻松创建不同GUI的工具。
所以我的问题是,如何以更有用的方式将EGL绘制到Qt中。
顺便说一句,我正在使用Qt 5.4.2。如果绝对必要,我可能可以升级到5.5,但新版本将不起作用。
我正在研究QOpenGLContext,以及如何使用EGL创建的上下文,但我似乎找不到任何关于如何实际执行此操作的好例子。