Как нарисовать контурный текст в контексте OpenGL ES в iOS?
Я пытаюсь нарисовать текст в контексте OpenGL ES на платформе iOS. Я должен нарисовать богатый текст с контурным шрифтом (TTF, OTF или другие)
Я знаю две наброски текстовой библиотеки для рисования.
- CoreText
- FreeType
В iOS есть текстовый фреймворк по умолчанию CoreText
, Я знаю, как его использовать, но только для CGContext
, Что я должен сделать, чтобы нарисовать контекст OpenGL ES? Должен ли я рисовать на растровом CoreGraphics и копировать его в OpenGL ES?
У меня нет опыта работы с FreeType. Это похоже на CoreText?
Каков рекомендуемый способ рисования контурного шрифта в контексте OpenGL ES?
Примечание. Мое приложение - игра в реальном времени.
1 ответ
Есть некоторый пример кода Apple, который использует Quartz 2D, визуализируя текст с сглаживанием в текстуру. Я использовал его для отладки HUD в игре пару лет назад. Производительность не была отличной, но если вам не нужно перерисовывать каждый кадр, этот подход должен работать.
Извините, я не могу вспомнить точные детали примера кода. Но вы должны создать растровый контекст, выполнить рендеринг, а затем сделать его текстурой. (Это должно работать и с CoreText.)