Хотя и не OpenGL ES, я однажды попытался перенести примеры из этой главы в Красную книгу, где они показывают, как создать икосаэдр и подразделить его для получения гладких сфер. Я только дошел до того, что использовал простой икосаэдр для грубого представления сферы в коде моего приложения Molecules . Возможно, вы могли бы расширить это.
У Apple есть пример приложения для Mac, GLSLShowpiece , которое текстурирует сферу в нескольких местах, но использует gluSphere()
для генерации вершин сферы, что недоступно в OpenGL ES.
Честно говоря, я нахожусь в процессе замены кода рендеринга сферы в Molecules на двумерный билбордный подход, использующий шейдеры для генерации окраски сфер. Это должно позволить гораздо более гладкие сферы без необходимости прибегать к огромному количеству геометрии. См. этот документ о том, какие результаты вы можете получить таким образом.