Hello,
I have a few questions regarding OpenGL font rendering. But to generalize it:
1. What's the current state of art regarding font rendering in OpenGL?
I have many sub-questions as well as many own ideas and requirements, but I would like to hear how you do it and what the advantages/disadvantages are.
2. Are you using textured quads, tesselated outlines, maybe distance fields or something entirely different?
3. Can you scale your text freely or are you limited to a (few) fixed size fonts?
4. How cross platform is it?
5. Does your way of rendering fonts support vertex buffers or are you using the fixed function pipeline?
6. What about internationalization, do you support any language as long as the font contains the required characters or do you only support a fixed set of languages?
7. How hard was it to implement/build your solution?
For my own project I guess I would use tesselated outline fonts. Because of their scalability, the potential to use the vertex shader to transform them and because you can use the same anti-aliasing as you do for your other geometry.
I already started by building a small tool that creates a mesh for each glyph in a font. The tool will be used offline in the build step and the meshes shipped with the game, since I believe just loading a few thousand meshes is faster than tesselating them on the users computer. It's also much more deterministic, since I won't have to rely on the glu tessellator installed on the users computer and can test for exact output.
Now I do plan on using SIL Graphite to generate the positions for each glyph, that way I do have the same support for languages on all platforms that graphite supports. Even minority scripts in case I would really like to translate my project into some language that the operating system is not supporting.
That's my plan so far. Maybe when I have time I will actually put it in action.