Как нарисовать контурный текст в контексте OpenGL ES в iOS?

Я пытаюсь нарисовать текст в контексте OpenGL ES на платформе iOS. Я должен нарисовать богатый текст с контурным шрифтом (TTF, OTF или другие)

Я знаю две наброски текстовой библиотеки для рисования.

  1. CoreText
  2. FreeType

В iOS есть текстовый фреймворк по умолчанию CoreText, Я знаю, как его использовать, но только для CGContext, Что я должен сделать, чтобы нарисовать контекст OpenGL ES? Должен ли я рисовать на растровом CoreGraphics и копировать его в OpenGL ES?

У меня нет опыта работы с FreeType. Это похоже на CoreText?

Каков рекомендуемый способ рисования контурного шрифта в контексте OpenGL ES?

Примечание. Мое приложение - игра в реальном времени.

1 ответ

Есть некоторый пример кода Apple, который использует Quartz 2D, визуализируя текст с сглаживанием в текстуру. Я использовал его для отладки HUD в игре пару лет назад. Производительность не была отличной, но если вам не нужно перерисовывать каждый кадр, этот подход должен работать.

Извините, я не могу вспомнить точные детали примера кода. Но вы должны создать растровый контекст, выполнить рендеринг, а затем сделать его текстурой. (Это должно работать и с CoreText.)

Другие вопросы по тегам