OpenGL ES для Iphone - PullRequest
       3

OpenGL ES для Iphone

5 голосов
/ 15 октября 2010

У меня нет опыта работы с OpenGL, и я только начал играть с разработкой для iPhone. Из Google кажется, что iphone использует специальный тип opengl (openGL ES). Какие языки поддерживаются openGL ES? Я немного знаю C ++, но теперь я верю, что мой C и Objective-C лучше, чем C ++.

Ответы [ 2 ]

4 голосов
/ 15 октября 2010

Доступ к OpenGL аналогичен работе с любой C-библиотекой.Если вы можете программировать на C, то сможете работать с OpenGL.Если вы знакомы с добавлением фреймворков и библиотек в проект XCode, то с проектами OpenGL у вас все будет в порядке.

Примечание: OpenGL ES не уникален для iPhone.OpenGL ES - это уменьшенная версия библиотеки OpenGL для работы с меньшим объемом памяти и более медленными процессорами, имеющимися в мобильных устройствах.Другие телефоны, такие как Android, также используют его.

Хорошая особенность OpenGL ES по сравнению со стандартным OpenGL состоит в том, что он действительно сокращает количество вызовов API, которые были в версии OpenGL для настольных ПК.Были сохранены только те звонки, которые были сочтены необходимыми.Если были одинаковые способы сделать то же самое, то один из них был удален.Это означает, что вам нужно меньше учиться.

Плохая вещь в OpenGL ES по сравнению со стандартным OpenGL заключается в том, что он действительно сокращает количество вызовов API, которое было в версии OpenGL для настольных компьютеров.Снова и снова, исследуя, как сделать что-то в OpenGL, вы найдете крутой способ сделать это на настольном компьютере, но практически ничего не найдете, как это сделать с помощью мобильной версии.К счастью, по мере того как мобильная разработка становится все более популярной, это станет меньшей проблемой, и уже появилось несколько книг по OpenGL ES (см. Munshi).

Кроме того, не все OpenGL ES одинаковы.Примерно у вас есть OpenGL ES 2.0 и то, что было до него и обычно называется OpenGL ES 1.x.Наиболее заметным отличием между этими двумя является интеграция программируемого конвейера (вершинный и фрагментный шейдеры).Если вы создадите базовый проект OpenGL ES с XCode, вы найдете простой пример изменений, которые необходимо пройти для обработки разностных версий.

Сам код шейдера является своего рода C-подобным языком программирования.Есть некоторые причуды, но они быстро выучены и довольно полезны.

Назовите меня странно, но мне нравится играть с Open GL и вариантами ES.Это сложно, но награды того стоят, так как вы получите доступ к мощному и полезному API.Надеюсь, вы сможете пройти начальные этапы обучения и по-настоящему наслаждаться OpenGL.

0 голосов
/ 15 октября 2010

Вы захотите работать с фреймворком, если у вас ранее не было опыта работы с OpenGL.Есть 2, которые я посмотрел:

  • SIO2 (бесплатно, но вам нужно заплатить лицензионный сбор, если вы хотите включить его в опубликованный заголовок)

  • Unity (сложнее в изучении, но, видимо, более гибок).

Что касается языков, большинство из них на C или C ++.Вы можете смешивать в Objective-C (аккуратно названный Objective-C ++), и он прекрасно скомпилируется, но настоящая проблема возникает, когда вы смешиваете UIKit и OpenGL - если вы этого не делаете, у вас все должно быть хорошос любым языком, который вам нравится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...