Как сделать OpenGL живой рендеринг текста для графического интерфейса?

Я реализую графический интерфейс на основе OpenGL. Я пришел к проблеме, что у каждого GUI будет - отрисовка текста. Я знаю несколько методов рендеринга текста в OpenGL, однако мне интересно, какой из них лучше всего подходит для графического интерфейса.

Обычно в графическом интерфейсе у нас есть два типа текста - статический и живой. Статика достаточно проста - мы можем визуализировать TTF для текстуры и забыть об этом. Меня больше беспокоит «живой» текст - представьте себе консоль или чат в многопользовательской игре.

Я думал о нескольких вариантах:

никаких особых случаев - визуализируйте и загружайте текстуру каждый раз, когда текст изменяется, имея в виду только повторную визуализацию, когда появляется новый текст, и пытаетесь разбить большой текст на маленькие части (как в строке чата). Однако это по-прежнему оставляло бы нас висящими в таких случаях, как счетная строка, которая постоянно меняется, или вступительный текст, отображающий «на персонажа» (стиль пишущей машинки, встречающийся в некоторых научно-фантастических играх)Квадратный символ - это также кажется популярным решением: вы готовите текстуру с помощью таблицы ASCII и визуализируете текстурированный четырехугольный символ. Однако у меня есть серьезные сомнения в эффективности такого решения. Советы, как сделать это быстрее, также приветствуются.гибридные решения - однако я понятия не имею, как это реализоватьчисто

Отсюда вопрос: как эффективно отрисовать текст в OpenGL?

Если это поможет, я пишу на STL / Boost-насыщенном C ++ и нацеливаюсь на GForce 6 и более поздние видеокарты.

Ответы на вопрос(7)

Ваш ответ на вопрос