如何在Xlib窗口中使用opengl绘制2d文本?

时间:2014-10-14 09:38:13

标签: opengl xlib

我在Xlib窗口中使用opengl。如何在此窗口上绘制文本(而不是在3d中)?

1 个答案:

答案 0 :(得分:4)

您可以使用常用的X字体绘图功能。在单个缓冲窗口中,OpenGL只是另一个绘图原语。在glXSwapBuffers之后需要XSync的双缓冲窗口中,然后可以使用X字体基元绘制OpenGL图形(也可以使用Xft)。

但请注意,在双缓冲OpenGL窗口的情况下,您无法自由地将X文本与OpenGL混合。

更新

此外,如果您有GLX_ARB_texture_from_pixmap扩展名可用(主要用途是合成器的实现,但您也可以将其用于其他内容):您可以使用以下方法将文本绘制到服务器端X11像素图中常规X11绘图基元(+ X11扩展,如XRender和Xft),然后将非常像素图绑定到OpenGL纹理单元作为图像源。

当然使用任何X11专用函数会将程序锁定到X11。