opengl — Нужен совет по выбору 3D и 2D C ++ фреймворка

Мы небольшая компания, в которой всего 2 программиста. В настоящее время мы делаем небольшие 2D и 3D игры для настольных и мобильных устройств, используя Adobe Flash / Air. Мы хотим прекратить использовать эту среду и начать изучать и разрабатывать на C ++, потому что на C ++ доступно гораздо больше и лучше библиотек и сред.

Я не уверен насчет библиотек для рендеринга. Я знаю, что Ogre3D — отличный движок рендеринга для 3D-контента, но иногда нам нужно делать 2D-игры или «2.5D»-игры, иногда с воспроизведением видео, и все это нужно смешивать с 3D-сценами.

Я знаю, что есть 2D-фреймворки, такие как cocos2D-x и smfl, которые работают с OpenGL (я мало знаю об OpenGL) и могут выполнять все 2D-операции, которые мне нужны, но можно ли эти фреймворки комбинировать с Ogre3D? И можно ли это сделать, не зная, как работают все внутренние компоненты Ogre3D или OpenGL?

Если Ogre3D можно комбинировать с любым 2D-движком, что мне нужно научиться объединять фреймворки?

-2

Решение

Учитывая, что вы используете flash, я предполагаю, что вы не переносите старый код C ++.

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

Обилие библиотек с открытым исходным кодом также не очень хорошая причина для программирования вашей игры на C ++.

Unity3D имеет бесплатную базовую лицензию и предоставляет все необходимое из коробки.

На данный момент вы можете использовать плоскости с текстурами для выполнения 2D-работы, но Unity также выйдет с набором Родные 2D инструменты в ближайшем будущем. Также новая система графического интерфейса создается

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

Одна большая проблема с Unity заключается в том, что вам нужен Unity Pro для использования плагинов. Лицензии Unity распространяются на платформу, поэтому, если вы решите использовать плагины и выпустить свою игру для нескольких платформ, вы можете в конечном итоге заплатить много денег в лицензионные сборы.

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

Поэтому, если вы не переносите старый код, не нуждаетесь в низкоуровневом доступе к оборудованию или не имеете особых потребностей в нативном коде, мой совет: не используйте C ++, просто используйте Единство.

0

Другие решения

Да, Ogre3D может обрабатывать такие «двумерные задачи», как воспроизведение видео. Просто плоскость в трехмерном пространстве, на которую она проецируется. Однако для чистых 2D-проектов движок 3D-рендеринга, такой как Ogre3D, обычно излишний. Если вы говорите о 2,5D, вы снова играете с Ogre3D.

Относительно интеграций: Не совсем уверен, но я предполагаю, что другим 2D-фреймворкам нужен контекст рендеринга OpenGL, который вы можете получить от Ogre.

РЕДАКТИРОВАТЬ: Тот же вопрос был задан вопрос на официальных форумах Ogre3D.

0

Мы — еще одна небольшая команда, работающая над разработкой игр.

Мы перепробовали много движков рендеринга и, наконец, остановились на движке Irrlicht Rendering. Irrlicht ничем не лучше Ogre 3D или не пытаюсь это доказать. Мы чувствовали себя Иррлихтом более гибким для наших нужд. Он также поддерживает 2D-рендеринг, и это довольно быстро с пакетной обработкой. Irrlicht можно легко перенести на другие платформы. Нам понадобилась неделя, чтобы перенести его в Google Chrome NaCl.

Irrlicht — это очень простая система рендеринга, которая поддерживает OpenGL и OpenGL ES, так что вы легко можете стать мобильным. Вы можете добавить любые дополнительные функции без особых усилий. Некоторые из наших игр доступны для iOS, Android, Windows PC, Mac OSX, Linux и Google Chrome Native Client.

-1
По вопросам рекламы [email protected]