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

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

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

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

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

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

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

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

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