我在Xlib窗口中使用opengl。如何在此窗口(不在3d中)绘制文本?
您可以使用通常的X字体绘图功能。在单个缓冲窗口中,OpenGL只是另一个绘图基元。之后,glXSwapBuffers
您需要在双缓冲窗口中,XSync
然后可以使用X字体基元(也可以使用Xft)在OpenGL绘图上进行绘制。
但是请注意,在使用双缓冲OpenGL窗口的情况下,不能将X文本与OpenGL自由混合。
另外,如果您有GLX_ARB_texture_from_pixmap
可用的扩展名(主要用途是合成器的实现,但您也可以将其用于其他用途):您可以使用常规X11绘图基元将文本绘制到服务器端X11像素图中(+ X11扩展名) (例如XRender和Xft),然后将该像素图绑定到OpenGL纹理单元作为图像源。
当然,使用任何X11专用功能都会将程序锁定到X11。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句