如何让X渲染到OpenGL纹理?

时间:2012-07-31 17:02:07

标签: opengl x11

我正在尝试编写一个像Compiz一样的合成器,但具有不同的图形效果。不过,我陷入了第一步,那就是我找不到如何让X渲染窗口到纹理而不是帧缓冲。关于从哪里开始的任何建议?

1 个答案:

答案 0 :(得分:3)

X11组成如下。

  1. 您将窗口重定向到屏幕外区域。 Composite扩展具有此
  2. 的功能
  3. 您使用Damage扩展来找出哪些窗口确实更改了其内容
  4. 在合成器中使用GLX_EXT_texture_from_pixmap扩展名将每个窗口的内容提交到相应的OpenGL纹理中。
  5. 将纹理绘制到合成图层窗口中; Composite扩展为您提供了一个特殊的屏幕图层,位于常规窗口图层和屏幕保护程序图层之间,用于创建窗口组合。