透明背景的LWJGL窗口?

我想创建一个窗口,使得没有“黑色背景”区域,而是您可以看到任何其他打开的窗口,等等。

也就是说,渲染场景而只渲染场景,不留任何帧,也不留下背景区域。

我读过一个方法,涉及渲染到隐藏的OpenGL窗口并在内存中缓冲它,创建透明的分层窗口,以及从内存复制到透明窗口。

显然这是非常cpu /内存密集型的,所以我想知道在Java和LWJGL中是否有更好的方法可以做到这一点?

这只能通过特定于平台的代码来实现。

该主题提供了有关该主题的有趣讨论。 这篇文章分享了在Windows上实现这种效果的C代码,以及Linux上的这篇文章 。

这是特定于操作系统的,因为“OS /窗口管理器/非您部门”拥有其他窗口。

在Windows上,OpenGL无法参与此类合成。 其他操作系统可能允许它。