Rendering Text in WebGL

Just like OpenGL and most rendering engines that I know of, WebGL has no builtin support for text rendering. And on top of that, I can’t use the approach we use in PointLine at the moment. PointLine gets the outlines for the characters from the Windows GDI. So I was looking for something cross platform.

Searching on the internet there are two main approaches:

  1. Render the alphabet or the word in question to an image, and then use that image to texture some triangles.
  2. Trace the outlines of the characters and triangulate the polygons.

Although I prefer the second approach, I found an example of the first that looked simple enough on nehe. It was based on FreeType and for OpenGL.  I started converting it to WebGL, but it was not as easy as it looked. It makes heavy use of display lists which are not available in WebGL.

So I looked further, and found the FTGL library which is also based on FreeType. It sounded like just what I need, but for OpenGL. So, I extended the library to allow me to extract the triangles for processing in WebGL. I sent my patch to the FTGL developers and hope for inclusion.

Meanwhile I can render texts in WebGL with my modified version of FTGL …  of course it’s only so easy to do when using Wt::WGLWidget from the excellent witty library.

Here is my research prototype which now has text.

Here are the important parts of how it’s done with the modified libftgl:

Continue reading “Rendering Text in WebGL”

Is Windows 7 based on MS DOS?

Yesterday I copied an InstallAware Project on the Jenkins continuous integration server. The copy always failed to build while the original succeeded. They were really the same at this point, so WTF!!!

In the InstallAware forum I found out that the path name was getting too long. Well, yes, the name of the copied jenkins project was slightly longer and thus the resulting path had some more characters.

In the installaware forum they say that Windows still has a limit of 256 character for absolute paths. According to Wikipedia, the limitation doesn’t come from the filesystem. So it must be somewhere in the OS. Now, Microsoft told us that WindowsNT which Windows7 is based on, was no longer based on MS DOS. Were they lying? I mean, this is a 64 bit operating system with limitations from its 16 bit pre-pre-pre-pre-predecessor….

A co worker ran into the same limitation lately when trying to copy a folder structure from linux to Windows.

Helicopter flight around the Jungfrau

For my last birthday I got a helicopter flight, and now I wanted to make that flight before the gift certificate expires.Takeoff was in Gstegwiler near Interlaken, from where we slowly ascended passing the Männlichen to the Eiger north face. The ascend was with a constant 4 m/s climb rate, and I was not too impressed, as I flew around this area a couple of times with the paraglider. When we hovered in front of the north wall, I remembered how such a helicopter pushed me away from the wall some seven years ago. Paragliders have priority, as we’re less manouverable. It was strange for me to approach the wall head on, and then just hover. With regular aircraft that need the forward velocity (such as a paraglider) you can’t do that. When we climbed higher it got more interesting. Lots of new terrain. We saw some very interestingly built refuges. And of course the famous Jungfrau Joch from a new perspective. Also the glaciers towards the Wallis were very impressive. We flew very close to some rock walls and some glaciers. As we left the glaciers and descended along Mürren and Wengen, it felt like routine again as I’ve seen this landscape from the air a couple of times before.

.

The livetracking didn’t work so well.