如何在使用opengl的Xlib窗口中绘制二维文本?
我正在Xlib窗口中使用opengl。如何在此窗口(非3d)上绘制文本?您可以使用常用的X字体绘制功能。在单个缓冲窗口中,OpenGL只是另一个绘图原语。在如何在使用opengl的Xlib窗口中绘制二维文本?,opengl,xlib,Opengl,Xlib,我正在Xlib窗口中使用opengl。如何在此窗口(非3d)上绘制文本?您可以使用常用的X字体绘制功能。在单个缓冲窗口中,OpenGL只是另一个绘图原语。在glXSwapBuffers之后的双缓冲窗口中,您需要XSync,然后可以使用X字体原语(也可以使用Xft)绘制OpenGL图形 但是请注意,在双缓冲OpenGL窗口的情况下,您不能将X文本与OpenGL自由混合 更新: 另外,如果您有来自pixmap的GLX\u ARB\u texture\u扩展(主要用于实现合成器,但也可以用于其他用途)
glXSwapBuffers
之后的双缓冲窗口中,您需要XSync
,然后可以使用X字体原语(也可以使用Xft)绘制OpenGL图形
但是请注意,在双缓冲OpenGL窗口的情况下,您不能将X文本与OpenGL自由混合
更新:
另外,如果您有来自pixmap的GLX\u ARB\u texture\u
扩展(主要用于实现合成器,但也可以用于其他用途):您可以使用常规X11绘图原语(+X11扩展,如XRender和Xft)将文本绘制到服务器端X11 pixmap中,然后将该像素贴图绑定到OpenGL纹理单元作为图像源
当然,使用任何X11专用函数都会将程序锁定到X11。您可以使用常用的X字体绘图函数。在单个缓冲窗口中,OpenGL只是另一个绘图原语。在
glXSwapBuffers
之后的双缓冲窗口中,您需要XSync
,然后可以使用X字体原语(也可以使用Xft)绘制OpenGL图形
但是请注意,在双缓冲OpenGL窗口的情况下,您不能将X文本与OpenGL自由混合
更新:
另外,如果您有来自pixmap的GLX\u ARB\u texture\u
扩展(主要用于实现合成器,但也可以用于其他用途):您可以使用常规X11绘图原语(+X11扩展,如XRender和Xft)将文本绘制到服务器端X11 pixmap中,然后将该像素贴图绑定到OpenGL纹理单元作为图像源
当然,使用任何X11专用函数都会将程序锁定到X11