iPhone OpenGl отображает текст
-
19-09-2019 - |
Вопрос
Кто-нибудь знает, как я могу визуализировать строку на iPhone?Это для отображения моего кадра в секунду с помощью =p
Решение
В OpenGL нет встроенного способа рендеринга текста, но есть два более или менее распространенных метода:Рендеринг глифов с использованием геометрии (реже) или наложения текстур (гораздо чаще).Для вашего случая наложение текстур будет очень простым:Настройте CGBitmapContext и визуализируйте текст с помощью Quartz.Затем загрузите изображение в ранее созданную текстуру, используя glTexSubImage2D.
На iPhone вы также можете просто поместить UILabel поверх представления OpenGL и позволить UIKit выполнить рендеринг.В моем приложении это вообще не повлияло на производительность (хотя Apple утверждает, что это так).
Другие советы
Вы можете использовать Texture2D и метод initWithString для рисования текста в OpenGL.См. пример аварийной посадки, включенный в SDK для iPhone.
Вы также можете использовать UILabel и разместить его поверх слоя opengl.
Как было сказано ранее, Texture2D — хорошая идея, но Crash Landing был удален из многих мест в Apple. Что вы можете сделать, так это загрузить Cocos2d, а затем извлечь предоставленный там класс Texture2D (это тот же класс, который предоставлен Apple, но есть еще пара вещей)Кокосы 2D на iPhone