Простые в использовании кросс-платформенные 3D-двигатели для разработки игр на C ++? [закрыто]

Я хочу попробовать свои силы при написании 3D-игры. Однако я не хочу начинать с такого низкого уровня рисования отдельных треугольников и создания собственного 3D-загрузчика объектов и так далее. Я слышал о таких вещах, как Irrlicht , Crystal Space 3D и Cafu , но у меня нет никакого опыта ни с одним из них. Я ищу предложения от людей, которые имеют опыт работы с теми или иными двигателями, на которых они хорошо написаны, и их легко начать использовать, не изучая тонну математической теории 3D и того, как графические процессоры работают внутри.

66 голосов | спросил 5 revs, 5 users 62%
davr
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

9 ответов


46

Мое мнение (только для 3D-движков с открытым исходным кодом):

  • Irrlicht :
    • Легкий 3D-движок
    • Очистить C ++ без зависимостей и STL.
    • Не очень хорошо документированы, но есть хорошие учебные пособия.
    • Очень маленький, поэтому вы можете легко его настроить.
    • Нет драйвера OpenGL 3.X, Direct X 10.X или 11.X, доступного в официальном SDK.
    • Очень хорошо для мобильной разработки;
    • Хорошее сообщество
    • Мало доступных расширений
  • Ogre3D :
    • Большой 3D-движок
    • Он использует современные C ++, такие как STL, исключения и RTTI
    • Хорошая документация (опубликованы книги).
    • Многие средства визуализации (OpenGL, DirectX и OpenGL ES ...).
    • Ogre3D имеет множество расширений как интеграцию CEGUI или Bullet, узлы дерева ...
    • Но сложнее расширить Ogre3D, если вы хотите что-то особенное.
    • Большое сообщество
    • Многие расширения
  • Crystal space : старый дизайн и сложный в использовании. Через несколько дней я прекратил использовать этот движок.
  • Horde3D
    • Малый двигатель
    • Современный дизайн
    • Сообщество
    • Нет расширений
  • Blendelf
    • Малый движок с некоторыми зависимостями
    • Современный дизайн с эффектами современных как DOF или HDR ...
    • Только OpenGL
    • Сообщество
    • Интеграция пули для физики
    • Вы используете lua для запуска этого engine3D

<сильный> TL; ДР:

  • Для настольной игры (или будущей коммерческой игры): Ogre3D
  • Для первой игры: Irrlicht
  • Для мобильной разработки: irrlicht (Ogre3D слишком большой)
  • Для сексуальных эффектов: Blendelf
ответил Steve Smith 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 11 Sep 2015 11:22:36 +0300 2015, 11:22:36
19

Очевидным первоначальным предложением является Ogre3D .

ответил Steve Smith 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 11 Sep 2015 11:22:36 +0300 2015, 11:22:36
7

Open Scene Graph - довольно хороший, очень хорошо разработанный кросс-платформенный 3D-движок. В отличие от Ogre3D, например, он не предоставляет функции «игрового движка» и концентрируется на том, чтобы быть очень красивой абстракцией поверх OpenGL.

  • Он довольно легкий и не создает для вас рамки: вы можете использовать столько, сколько хотите, и использовать его через SDL, SFML, wxWidgets, QT ...
  • Это отличный опыт обучения: когда вы изучаете библиотеку, вы все больше понимаете базовый OpenGL и то, как оно было разработано.
  • Довольно много готовых к использованию: у него есть загрузчики для основных 3D-форматов.
  • Shaders friendly

Посмотрите обширный список образцов .

ответил Steve Smith 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 11 Sep 2015 11:22:36 +0300 2015, 11:22:36
4

С точки зрения игровых движков:

  • Torque3D : множество функций, но некоторые из них считают, что код с трудом работает.
  • C4 Engine : недорогая, отличная авторская поддержка, но инструменты могут использовать немного работы.
  • >
  • Сделай сам: выберите набор библиотек и приклейте их вместе с игрой.

Поскольку Ogre3D был предложен, существует также легкая альтернатива Horde3D .

Плюсы:

  • Дизайн звучит и, скорее всего, превосходит Ogre3D для тяжелой рендеринга (если этого еще не сделано)
  • C API, создавая привязки для таких языков, как Python, прост и удобен в обслуживании (внутренний код - C ++).

Минусы:

  • Требуется хотя бы поддержка OpenGL 2.0
  • Меньшее сообщество
  • Нестабильная база кода (основные архитектурные изменения все еще происходят)
ответил Steve Smith 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 11 Sep 2015 11:22:36 +0300 2015, 11:22:36
4

Irrlicht обеспечивает немного больше, чем Ogre3D, и в то же время немного более практична ( например, вам не кажется, что вы просто «запускаете двигатель» и смотрите, как он работает, он больше похож на то, что вы выполняете команды, как это должно быть на мой взгляд).

Я думаю, было бы здорово начать с!

ответил Steve Smith 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 11 Sep 2015 11:22:36 +0300 2015, 11:22:36
4

Я знаю, что вы просили C ++, но Panda3D также работает с C ++, даже если он сначала нацелен на работу с python. Это игровой движок, но что бы ...

ответил Steve Smith 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 11 Sep 2015 11:22:36 +0300 2015, 11:22:36
2

Очевидный выбор, если Ogre3D слишком низкий для вас, будет NeoAxis: http://www.neoaxisgroup.com/

Он работает на Ogre, но является полноценной платформой для разработки игр.

Он нацеливается на .NET, поэтому вы можете использовать C #, управляемый C ++, VB.

Так пойдите для этого. :)

Ogre3D может работать на различных мобильных устройствах, таких как iPhone и Android. Поэтому он не слишком большой.

Не принимайте размер за производительность.

Я не уверен, что IrrLicht имеет официальную поддержку iPhone, но Ogre3D делает.

ответил Steve Smith 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 11 Sep 2015 11:22:36 +0300 2015, 11:22:36
2
ответил Steve Smith 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 11 Sep 2015 11:22:36 +0300 2015, 11:22:36
1

До сих пор хорошие ответы, но я добавлю Marmalade . Это действительно хорошо работает. Куча крупных студий выпустила консольную игру с ней, поэтому у нее есть учетные данные. На нем есть даже единичный редактор, Shiva3D , который также позволяет использовать кросс-платформенную ,

ответил Steve Smith 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 11 Sep 2015 11:22:36 +0300 2015, 11:22:36

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132