Данный класс был написан не мной, но я его усовершенствовал для использования русского языка. Он в свою очередь использует класс TexturePack который помогает упаковывать нарисованные символы алфавита, так чтобы их можно было использовать, ссылка на описание алгоритма есть в исходниках.
Основная идея класса GLFont заключается в том что используя шрифт заданный в конструкторе, он создает текстуру для каждого символа и упаковывает ее в структуру данных описываемых классом TexturePack.
Вывод строки на экран в конечном счете осуществляется при помощи функции blit класса FrameBuffer.
Пример создания шрифта
Код
private void LoadResources()
{
font = new GLFont( new Font("Default",Font.TRUETYPE_FONT,16),GLFont.ENGLISH+GLFont.RUSSIAN);
}
А также пример его отрисовки
Код
font.blitString(buffer, "Это пример ", 10, 20, 1, Color.black);
font.blitString(buffer, "вывода текста ", 90, 40, 1, Color.CYAN);
font.blitString(buffer, "на экран ", 200, 60, 1, Color.blue);
Для корректной отображения важно чтобы отображение строк производилась после отрисовки мира, иначе вы ничего не увидите.
Полный рабочий пример находится
Доступно только для пользователей