我想创建一个窗口,使其没有“黑色背景”区域,而是透视任何其他打开的窗口等。
即,渲染场景,仅渲染场景,不留任何帧,也不留下背景区域。
我读过一个方法,涉及渲染到隐藏的OpenGL窗口并在内存中缓冲它,创建透明的分层窗口,以及从内存复制到透明窗口。
显然这是非常cpu /内存密集型的,所以我想知道在Java和LWJGL中是否有更好的方法吗?
答案 0 :(得分:3)
这只能通过特定于平台的代码来实现。
This thread提供了有关该主题的有趣讨论。 This post分享在Windows上实现此效果的 C 代码,在Linux上分享this post。
答案 1 :(得分:2)
这是特定于操作系统的,因为“OS / window manager / not-you-department”拥有其他窗口。
在Windows上,OpenGL无法参与此类合成。其他操作系统可能允许它。