Linux 无背景、无窗口的OpenGL应用
您是否在linux中使用或见过cairo dock?我在维基百科上读到,它是用C写的。我只是好奇他们是如何制作出一个使用OpenGl的无窗口、类似小部件的应用程序的。是否可以制作一个无窗口、无背景(或透明背景)的OpenGl应用程序。他们是用C从头开始做的吗?或者他们使用了其他工具吗?你所说的“无窗口”是什么意思。窗口是屏幕上的(矩形)区域,您可以使用绘图操作将其绘制到该区域。然而,从你的问题来看,我的印象是,你实际上是在询问如何创建一个没有装饰的窗口(即标题栏等) 在Linux中,或者更准确地说是X11,窗口的外观由两件事控制:窗口管理器控制下的窗口的扩展窗口管理器提示(EMWH);窗口管理器是负责绘制装饰和边框的实际程序。以及重定向覆盖标志,该标志控制窗口是否真正处于窗口管理器的控制之下。如果你问的是“无背景”,那么我猜你的意思是,透明。首先看一看我制作的视频:这是你想要的吗?然后,您实际需要的是一个在其帧缓冲区配置(X11 XRender FBConfig)中具有Alpha通道的窗口,以及一个合成管理器(它可以,但不需要是窗口管理器的一部分)。此程序的源代码可在以下位置找到: 或者,您实际上是在询问一个OpenGL上下文,您可以将图片渲染到该上下文中,但它不会出现在屏幕上?这将是一个屏幕外上下文,使用X11实现这一点有两种方法:Linux 无背景、无窗口的OpenGL应用,linux,opengl,Linux,Opengl,您是否在linux中使用或见过cairo dock?我在维基百科上读到,它是用C写的。我只是好奇他们是如何制作出一个使用OpenGl的无窗口、类似小部件的应用程序的。是否可以制作一个无窗口、无背景(或透明背景)的OpenGl应用程序。他们是用C从头开始做的吗?或者他们使用了其他工具吗?你所说的“无窗口”是什么意思。窗口是屏幕上的(矩形)区域,您可以使用绘图操作将其绘制到该区域。然而,从你的问题来看,我的印象是,你实际上是在询问如何创建一个没有装饰的窗口(即标题栏等) 在Linux中,或者更准确地
- 使用可用于上下文的无窗口PBuffer X11 drawable
- 将隐藏窗口与OpenGL帧缓冲区对象一起使用