OpenGL ES, OpenFrameworks, Cinder и IOS креативная разработка - PullRequest
18 голосов
/ 25 апреля 2011

Я нахожусь в трудном положении. Я хотел бы выучить язык, который может помочь мне создать приложение с сильным художественным / креативным / графическим компонентом и использовать его для коммерческих проектов для моих клиентов.

Моим первым выбором был OpenGL ES, я считаю его «стандартным» способом прохождения. Но, тем временем, я обнаружил этот сайт: http://www.creativeapplications.net/, где я нашел много интересных приложений для ios, большинство из которых были созданы с использованием OpenFramewors и Cinder .

Мой вопрос: зачем выбирать эту 2 "обертку" вместо OpenGL? Мне нужно понять преимущества и недостатки.

Я не уверен, что используя эти фреймворки, я могу легко (и стандартно) смешивать (как для OpenGL) UIKit / Cocoa и Graphics. На данный момент я все еще предпочитаю OpenGL, потому что я знаю, что Apple предлагает этот способ (я имею в виду ... предложенный Apple), и я уверен, что смогу воспользоваться этим и для своего клиента. Хотя я не уверен, что используя OF и Cinder, я могу полностью управлять UIKit и Cocoa без хитростей.

Ответы [ 5 ]

9 голосов
/ 19 мая 2011

Преимущества использования каркаса заключаются в том, что, как заявил Рубен, вы не изобретаете колесо заново.OpenGL не содержит большого количества классов, которые вам обычно нужны: векторы, матрицы, камеры, цвета, изображения и т. Д., А также методы, которые вам понадобятся для работы с ними: нормализация, арифметика, перекрестное произведение и т. Д.

Конечно, вы можете реализовать все это в OpenGL, но если кто-то делал это раньше, почему бы просто не использовать это вместо этого?Ваш выбор платформы или библиотеки будет зависеть от того, какую реализацию вы предпочитаете.OF будет работать по-другому с Cinder, который отличается от другой библиотеки.

Вам не нужно использовать все, что предоставляет фреймворк.Если вам не нравится базовое приложение (например, Cinder), вы можете создавать свои собственные контексты, а что нет, и просто использовать библиотеки математики 3d фреймворка, или библиотеку изображений, или любую другую часть, которую вы хотите.Просто включите нужные заголовки.

В качестве альтернативы вы можете просто использовать 3d-библиотеку математики, если вы так склонны и покончили с фреймворками все вместе.Это дает вам больший контроль над конвейером рендеринга, а также потенциально уменьшает размер приложения.

В конечном итоге то, что вы выберете, будет зависеть от его функций и ваших предпочтений в отношении определенного стиля.Я бы предложил использовать фреймворк или библиотеку, которые вам удобны и которые используются в производстве (если только вы не играете с вещами).Документация также важна.Если документы / ресурсы не очень хороши, я бы не стал что-то использовать.

Конечно, если вы хотите изучить все тонкости (никогда не плохая идея), непременно напишите свою собственную библиотеку..

7 голосов
/ 25 апреля 2011

Я думаю, что основным преимуществом выбора OF и Cinder является то, что вы можете сосредоточиться на своем творении лучше, чем потерять много часов, работая с библиотекой OpenGL.Cinder даже включает в себя загрузку изображений и обработку памяти.Тем не менее, вы должны быть терпеливы, потому что эти платформы импортируются на платформу iOS прямо сейчас.

Через несколько месяцев или лет все будут использовать эти платформы, которые абстрагируют все вещи, лежащие в основе графического программирования, чтобы привести их к полномупотенциал и время для творчества!

3 голосов
/ 29 июня 2012

Примечание: я являюсь автором этого фреймворка.

Я потратил некоторое время на создание Rend, платформы OpenGL ES 2.0 на базе Objective-C для iOS. Это легкий и ориентированный на чистый рендеринг, который может быть подходящим для некоторых проектов.

Кроме того, если вы создаете свой собственный фреймворк, вы можете использовать его для вдохновения и фрагментов кода.

http://github.com/antonholmquist/rend-ios

3 голосов
/ 02 ноября 2011

Теперь и Cinder, и OF полностью поддерживают платформу iOS, и вы можете легко использовать их в приложении для iOS.

также обратите внимание, что эти платформы разработаны специально для дизайнеров и творческих художников / программистов, но OpenGL является техническим стандартом для работы с графическим оборудованием.

3 голосов
/ 03 мая 2011

Если вы ничего не пропустите, я думаю, что вы будете в порядке только с OpenGL.

Cinder предлагает некоторые дополнительные возможности, см. http://libcinder.org/features/. Возможно, в будущем вам могут быть интересны триангуляция, загрузка системных шрифтов, поддержка матриц и т. Д.

Также Cinder's Tinderbox делает создание новых проектов очень простым.

...