Вы говорите, что OpenGL ES - это "правильный способ сделать это", но я бы посоветовал взглянуть на Core Animation для такого рода задач.Вы можете легко создать серию меток UILabel, по одному для каждого персонажа в вашем облаке, со случайными шрифтами, назначенными меткам.Вам нужно будет поместить эти UILabels в подпредставление и назначить им трехмерное местоположение, используя свойства position и zPosition слоя UILabel.Случайное вращение и / или масштабирование в 3-D может быть применено с использованием CATransform3DRotate () или CATransform3DScale ().Пример вида трехмерных манипуляций, которые вы можете сделать для CALayers, можно найти здесь .
Использование Core Animation для этой задачи потребует гораздо меньше кода, чем чистый OpenGL ES, посколькуВам не придется самостоятельно управлять рисованием текста, а Core Animation обрабатывает всю трехмерную визуализацию за вас.