Творческая разработка OpenGL ES, openFrameworks, Cinder и IOS

#iphone #ios #opengl-es #openframeworks #cinder

#iPhone #iOS #opengl-es #openframeworks #cinder

Вопрос:

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

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

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

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

Комментарии:

1. я не могу создать тег «cinder» из-за моей плохой репутации: P может кто-нибудь отредактировать эту форму и добавить этот тег?

Ответ №1:

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

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

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

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

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

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

Ответ №2:

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

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

Ответ №3:

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

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

Кроме того, Tinderbox от Cinder очень упрощает создание новых проектов.

Ответ №4:

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

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

Ответ №5:

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

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

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

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

Комментарии:

1. Спасибо @Anton! Это действительно интересный проект, я обязательно посмотрю 🙂

2. @anton rend-ios я не могу получить доступ к методу REDisplayLink removeObserver в TeapotController.m как мне получить доступ к REDisplayLink?