On Tuesday, 21 May 2013 at 00:05:21 UTC, Diggory wrote:
On Monday, 20 May 2013 at 23:40:34 UTC, Andrej Mitrovic wrote:
On 5/21/13, Adam Wilson <flybo...@gmail.com> wrote:
Sub-pixel font hinting. Almost no games use this, and almost every OS
toolkit does.

There used to be a nice article about font rendering in OpenGL
(methinks) here: http://h3.gd/dmedia/?n=Tutorials.TextRendering1

But the link is dead. Most h3r3tic links are dead, not even
archive.org has them.

Generally the idea is to pack the characters into a texture and then render from that - it's very fast as you don't have to switch textures which is relatively slow. There are a few different ways of representing the characters (for large text signed distance maps seem to be currently the state of the art) while for small text a simple single channel alpha map is good and fast.

TBH the rendering itself is fairly simple, the hard part is the layout, glyph conversion and kerning. It seems like the new std.uni module actually does some of the glyph conversion which is nice.

Another technique that might be worth looking into is simply getting the OS to render the text as it will be displayed to a texture and then it's just a case of blitting that to the screen. With some caching that could be efficient enough, most gui text does not change very often, otherwise you wouldn't have time to read it...

The code I linked to takes care of glyph positioning/kerning/etc; although I didn't test it with e.g. asian languages, and there might be bugs to work out there.

Reply via email to