Assuming that you want only 2D letters to appear at a specific point in 3D space, the usual way to do this is the one you are describing. Well, actually, I would create one bitmap for the entire line, and then draw a bitmap into the scene. This is not very inefficient - in fact it is very effective, because you can cache the bitmap of the text and only need to be calculated once, and not every time the scene is drawn. This seems like a lot of code for something simple, but OpenGL often happens.
source
share