Подтвердить что ты не робот

OpenGL ES, OpenFrameworks, Cinder и разработка IOS

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

Ответ 2

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

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

Ответ 3

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

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

Также Cinder Tinderbox упрощает создание новых проектов.

Ответ 4

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

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

Ответ 5

Примечание. Я автор этой структуры.

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

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

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