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

Ищете платформу OpenGL ES для кросс-платформенной разработки на Win/Linux/MacOSX/Android/IOS

Мне нужно разработать кросс-платформенное мультимедийное приложение, которое будет работать на Windows, Linux, MacOSX, Android и IOS. Это приложение должно будет иметь возможность воспроизводить аудио/видео контент, отображать фотографии и графики и, возможно, показывать простые 2D-анимации. После многих поисков кажется, что "самый переносимый подход" к проблеме заключается в использовании C++ в качестве языка и OpenGL ES в качестве API-интерфейсов чертежей, поскольку оба поддерживаемый практически любой парой устройств/ОС, уровень производительности будет хорошим, а внешний вид должен быть примерно одинаковым на каждой (группе) устройствах.

Очевидно, я знаю, что мне придется настроить внешний вид приложения на "масштаб" на разных устройствах с различными размерами и разрешениями дисплея. Я также знаю, что нереалистично требовать точного поведения для любой части кода на таких разных архитектурах. Я просто хочу свести к минимуму написанный код (например, переписать часть интерфейса сначала на С++, а затем в Java следует избегать).

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

Это низкобюджетный проект, поэтому мне понадобится фреймворк , полностью свободный и openource. Последнее требование также дает свободу добавлять/изменять API-интерфейсы структуры, когда что-то важное отсутствует или является неправильным. Я не прошу создать многоцелевую инфраструктуру (например, Qt), способную обрабатывать входные данные, сети, хранилища и т.д., Только потому, что я сильно подозреваю, что такой платформы не существует для упомянутых выше платформ. Я просто хочу своего рода оболочку OpenGL, способную абстрагироваться от многих деталей своего низкого уровня, но также предлагая некоторый виджет пользовательского интерфейса, как это делает Qt. Я буду обрабатывать внутренние, сетевые, хранилища, датчики отдельно, возможно, используя другие кросс-платформенные библиотеки с открытым исходным кодом, как предложено здесь.

Я прочитал много подобных вопросов в Stackoverflow и Gamedev, и я слышал о многих фреймах (Unity, Corona SDK, LÖVE, LibGDX, Ogre, Cocos2D-x), в основном созданный для разработки игр. Ogre и Cocos2D-x, например, соответствуют некоторым моим требованиям, но если я решит использовать один из них, мне придется закодировать почти все элементы моего пользовательского интерфейса (не такая большая нагрузка, кто-то может возразить).

Несколько замечаний:

  • приложение является 2D, поэтому OpenGL может показаться излишним. Тем не менее, OpenGL ES был выбран из-за его очень хорошей переносимости и высокого уровня производительности даже на старом оборудовании.
  • Я в основном разработчик Linux С++, поэтому я бы предпочел не переключиться на HTML5 (еще слишком молодой) или .NET/Mono (менее эффективный) без замечательных преимуществ взамен. Более того, я не мог реалистично освоить эти языки за короткий период.
  • Меня впечатлила история в в этой статье. Я считаю, что это может быть правильный подход: сочетание инструментов и библиотек с открытым исходным кодом, которые соответствуют потребностям проекта. Но у меня все еще отсутствует самая важная часть: графическая структура.
  • Написав этот вопрос, я нашел этот отвратительный ответ. Надеюсь, мои требования не создают пустой набор. Я действительно не могу поддерживать n разных пользовательских интерфейсов на другой платформе. Мне действительно нужно что-то, что является агностиком платформы.

Приветствуется любая помощь или совет.

4b9b3361

Ответ 1

Я просто наткнулся на этот: GamePlay 3D

Поддерживаемые платформы: Blackberry, Android, iOS, Windows, Linux и Mac OS X.

Вы всегда можете делать 2D, используя 3D-рамки.