透明背景的LWJGL窗口?

时间:2012-04-23 06:52:42

标签: java opengl graphics transparency lwjgl

我想创建一个窗口,使其没有“黑色背景”区域,而是透视任何其他打开的窗口等。

即,渲染场景,仅渲染场景,不留任何帧,也不留下背景区域。

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

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

2 个答案:

答案 0 :(得分:3)

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

This thread提供了有关该主题的有趣讨论。 This post分享在Windows上实现此效果的 C 代码,在Linux上分享this post

答案 1 :(得分:2)

这是特定于操作系统的,因为“OS / window manager / not-you-department”拥有其他窗口。

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