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