Thread: [PyOpenGL-Users] font rendering problem
Brought to you by:
mcfletch
From: vwf <vw...@vu...> - 2009-05-01 11:30:15
Attachments:
font_min.png
font_min.py
|
Hello PyOpenGL experts, I have an ongoing saga of opengl problems. This time I try to tacle a font rendering problem. It might be that there are new rendering techniques available, but I still use a rather old technique. The attached image shows the problem, the attached code produces it (on my system, running Debian Linux, Lenny/stable). For it to run you need Vera.ttf. The code is a small as I could get it without seriously changing the functionality. Does someone know how to fix it? If there is an entirely new approach, I would like to know. Thank you all, Frits |
From: Dirk R. <dir...@gm...> - 2009-05-01 12:53:23
|
Hi Frits, vwf wrote: > Hello PyOpenGL experts, > > > I have an ongoing saga of opengl problems. This time I try to tacle a > font rendering problem. It might be that there are new rendering > techniques available, but I still use a rather old technique. > > The attached image shows the problem, the attached code produces it (on > my system, running Debian Linux, Lenny/stable). For it to run you need > Vera.ttf. The code is a small as I could get it without seriously > changing the functionality. > > Does someone know how to fix it? If there is an entirely new approach, I > would like to know. In 99% of the cases an image like that is caused by images that have odd width. By default OpenGL assumes image lines to start on a 4 byte boundary. if you have RGBA byte-sized pixels that's automatic, but for other sizes it may or may not work. You can try to add a glPixelStore(GL_UNPACK_ALIGNMENT, 1), that would avoid this problem. Hope it helps Dirk |
From: Mike C. F. <mcf...@vr...> - 2009-05-02 17:52:54
|
vwf wrote: ... > Does someone know how to fix it? If there is an entirely new approach, I > would like to know. > Looks like a 90 degree rotation problem, that will cause the image to get those diagonal lines (when width != height). PyOpenGL automatically sets tight packing (non-aligned) so the problem Dirk described shouldn't happen. Try doing a simple rotate on the image before you pass it to PyOpenGL. There are dozens of approaches to rendering text, you are using a version ripped out of OpenGLContext by the look of it. IIRC the Pygame-generated font there needs to do a rotate in order to get to OpenGL-compatible rendering format. HTH, Mike -- ________________________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com |