Skip to main content

Что такое текст OpenGL®?

Текст OpenGL® описывает любой компьютерный шрифт, который с помощью ряда различных методов отображается как элемент внутри сцены OpenGL®. У OpenGL® нет врожденной способности отображать текст внутри трехмерной (3D) сцены, и на самом деле нет никаких внутренних способов наложения системного текста внутри кадрового буфера. Это привело к созданию различных независимых библиотек, чтобы сделать использование текста OpenGL® как можно более простым. Существует три основных метода создания текста OpenGL®: наложение текстуры, геометрия и растровое изображение. Каждый из них имеет свои преимущества и недостатки, причем самым большим недостатком для почти всего текста OpenGL® является снижение скорости рендеринга.

Механизм для отображения текста в OpenGL® отсутствует, главным образом потому, что целью библиотеки является предоставление аппаратно-ускоренной трехмерной графики. Отображение шрифтов или другого текста не считается необходимой частью библиотеки функций OpenGL®. Вместо этого разработчики программного обеспечения и операционных систем предоставили независимые библиотеки, чтобы упростить использование текста в трехмерной среде.

Использование растрового текста OpenGL® может быть сделано несколькими способами, но это, безусловно, один из самых простых способов реализации. Этот процесс начинается с одного растрового изображения всего набора шрифтов, который будет использоваться. Когда на экране необходимо отобразить слово, отдельные буквы копируются из растрового изображения и располагаются на текстуре OpenGL®. Эта текстура, которая теперь содержит полную строку, затем отображается на четырехугольник и помещается перед сценой, чтобы она перекрывала остальные 3D-объекты.

Также возможно использовать геометрию для фактического построения текста OpenGL®. Это включает использование шрифта, который имеет двумерную (2D) векторную информацию о том, как рисовать каждую букву. Эти векторы переводятся в вершины и треугольники, делая каждую букву своей моделью. Чтобы отобразить строку текста с геометрическими шрифтами, модели должны быть выстроены в правильном порядке в сцене. Одним из преимуществ этого метода является то, что текстовые модели можно легко выдавливать для формирования блочных трехмерных букв.

Последний общий метод, который можно использовать для отображения текста OpenGL®, - это использование простой готовой карты текстур. Это изображение, на котором желаемая текстовая строка уже нарисована так, как она должна отображаться в сцене. Затем изображение может быть применено к любому объекту, показывая текст при визуализации объекта. Карты текстур в основном эффективны для статического текста, например слов на боковой поверхности трехмерной модели картонной коробки. Это один из самых простых способов показать текст с правильным интервалом и кернингом.