forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Irrlicht vs OpenSceneGraph (http://forum.boolean.name/showthread.php?t=19369)

impersonalis 27.08.2014 18:21

Irrlicht vs OpenSceneGraph
 
В связи с утратой создателей Xors3D интереса к движку, ищу замену.
Пока выбор стоит между Irrlicht и OpenSceneGraph. Пожалуйста поргуайте/похвалите кандидатов. Выбор может показаться каким-то кривым ("топор vs дрель"), но он продиктован: фичами движков, воспоминаниями о лучших временах, молвой... в общем, да: выбор кривой. Если у вас есть что предложить - тоже отпишитесь.
Да простит меня Pax и остальная прогрессивная общественность, но Юнити просьба не предлагать.
Разработка (как можно понять из названия подфорума) ведётся на цпп. Честно говоря, менять уже ставшую привычной IDE C::B на, к примеру, VC и работать по принципу "здесь графика, а здесь всё остальное" не хочется (OSG со своими безумными шаманскими плясками с CMake для C::B меня к этому принуждает).
Что я бы хотел (хрен его знает, но всё же):
- бесплатность (!);
- не мозгосносящую архитектуру движка;
- поддержку MinGW;
- возможность поиграться с настройками рендера (выбор GAPI, рендер в текстуру);
- поддержку джойстиков искаропки;
- возможность многопоточного использования движка (фоновая подгрузка, исключение указанной сущности из рендера) - чтобы сбылись мечты народные;
- инструменты поддержки больших открытых пространств (секторная подгрузка террайнов) - в общем, чтобы без вот ЭТОГО;
- модели погодных явлений (облака, дождь);
- легковесность движка и отсутствие необходимости много работать напильником для запуска;
- наличие на булке людей, разбирающихся в данном движке;
- реальную возможность создать тикет и получить ответ.

Спасибо!

Черный крыс 27.08.2014 18:41

Ответ: Irrlicht vs OpenSceneGraph
 
Как вариант - взять OpenB3D и допиливать до нужной кондиции... хотя и не самый быстрый путь.

impersonalis 27.08.2014 19:17

Ответ: Irrlicht vs OpenSceneGraph
 
Чего-то я запутался:
Цитата:

OpenB3d library project ("minib3d")
это не то же, что и Blitz3D SDK?

Arton 27.08.2014 19:55

Ответ: Irrlicht vs OpenSceneGraph
 
Цитата:

Сообщение от impersonalis (Сообщение 285667)
Чего-то я запутался:
это не то же, что и Blitz3D SDK?

Не, самостоятельная библиотека разрабатываемая какими-то энтузиастами (если не ошибаюсь).

KCEPOKC 27.08.2014 21:17

Ответ: Irrlicht vs OpenSceneGraph
 
Я за OpenSceneGraph. ИМХО это скорее допиленный OpenGL, а не полноценный движок, хотя это во многом большой плюс.
Я не юзал. Так, интересовался.

А огр? Или Panda3D(но это питон)?

moka 27.08.2014 21:32

Ответ: Irrlicht vs OpenSceneGraph
 
Я толкану свою тему, но THREE.js имеет весьма большое сообщество. Сильно отличается от твоих требований, и другой ЯП, но доступность и простота, открытый исходник и постоянно развивается, и будет развиваться.
Есть куча всяких расширений, например систем партиклов: http://stemkoski.github.io/Three.js/...le-Engine.html
Куча разных разработок по ландшафтам, шейдерам и т.п.
Вот тут куча примеров: http://threejs.org/examples/
И бОльшая часть этого: http://www.chromeexperiments.com/ сделана также используя THREE.js.
Комьюнити огромное: http://stackoverflow.com/questions/t...st&pageSize=50

Рассмотри вариант. Экспериментировать и делиться наработками жесть как просто, ничего хостить не нужно, кодить можно прямо в броузере: http://codepen.io/search?q=three.js&..._ forks=false

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

impersonalis 27.08.2014 23:13

Ответ: Irrlicht vs OpenSceneGraph
 
К сожалению, на ЯП ограничение продиктовано, так скать, "свыше".

pax 28.08.2014 08:04

Ответ: Irrlicht vs OpenSceneGraph
 
Цитата:

Сообщение от impersonalis (Сообщение 285665)
Да простит меня Pax и остальная прогрессивная общественность, но Юнити просьба не предлагать.

И не собирался, на ум пришел один проект... http://www.projectanarchy.com/ но не знаю как он подойдет по заявленным требованиям, не разбирался.

UPD: скорее всего не подойдет по следующему критерию:
Цитата:

- легковесность движка и отсутствие необходимости много работать напильником для запуска;
Ну а еще вспомнился http://www.ogre3d.org/
Еще поиском наткнулся вот на это: http://devmaster.net/devdb/engines/s...neral-overview

moka 28.08.2014 21:31

Ответ: Irrlicht vs OpenSceneGraph
 
Ogre3D никак не удовлетворяет кучи требований, тем более для "запуска без напильника".

Samodelkin 28.08.2014 23:39

Ответ: Irrlicht vs OpenSceneGraph
 
Цитата:

Сообщение от moka (Сообщение 285707)
Ogre3D никак не удовлетворяет кучи требований, тем более для "запуска без напильника".

Да, я даже решил свой движок делать, потому что не смог запустить ogre3d. :)

shybovycha 31.08.2014 15:20

Ответ: Irrlicht vs OpenSceneGraph
 
По опыту использования посоветую OGRE.

Но сперва обсудим упомянутый Irrlicht. Имею достаточный опыт использования оного. И вот первая свинья: большей часть функциональных требований автора он не удовлетворяет. Про поддержку компилятора или коммьюнити можно умолчать - это вообще не значимые критерии при наличии прямых рук да документации. А вот то, как с этим работать и какую картинку оно выдает - это действительно важно. Пройдемся по всем требованиям по порядку:
  • бесплатность - бесплатный. Здесь все хорошо.
  • не мозгосносящую архитектуру движка - вроди не так уж все плохо.
  • поддержку MinGW - это есть. Да у всех библиотек под С++, которые рашпилем не точились под MSVC она есть - главное руки подстроить ;)
  • возможность поиграться с настройками рендера (выбор GAPI, рендер в текстуру) - есть
  • поддержку джойстиков искаропки - есть
  • возможность многопоточного использования движка (фоновая подгрузка, исключение указанной сущности из рендера) - чтобы сбылись мечты народные - это только руками. Ну нету у иррлихта возможности грузить ресурсы в фоне!
  • инструменты поддержки больших открытых пространств (секторная подгрузка террайнов) - отсутствует. Напрочь. Либо руками реализовывать, либо - никак.
  • модели погодных явлений (облака, дождь) - опять-таки, руками. Плагинов не встречал.
  • легковесность движка и отсутствие необходимости много работать напильником для запуска - все проще некуда - даже хеадер только один!
  • наличие на булке людей, разбирающихся в данном движке - парочка есть :)
  • реальную возможность создать тикет и получить ответ - реальная возможность есть. Но ответ никто не гарантирует. Никогда. Это - чисто человеческий фактор.

Из личных впечатлений: вырвиглазная поддержка устройств ввода. Либо пиши уродский класс да извращайся с паттернами программирования, либо пиши все в одной функции. Ужос. Хотя, ООП в С++ не менее ужасно по своей природе, посему не такой уж и ужос :)

Свет и тени - вот это реальный ужос. Стенсильные тени рендерятся с невероятными артефактами. Свет вроди присутствует, но опять-таки, страшно рисуется... Так что, либо молчишь и мучишься, либо пишешь шейдеры. Что не так кошерно, как...

OGRE. Сдесь упор сделан на архитектуру и на картинку, которую в конечном счете увидит пользователь. Должен отметить, что возраст движка и размер коммьюнити значительно превозносят его над Irrlicht. Опять пройдемся по пунктам требований:
  • бесплатность - бесплатный.
  • не мозгосносящую архитектуру движка - по сравнению с Irrlicht архитектура может показаться страшной. Но на деле у ребят отличнейшая архитектура, позволяющая содержать все это в рабочем и, более того, разрабатываемом состоянии.
  • поддержку MinGW - см. выше
  • возможность поиграться с настройками рендера (выбор GAPI, рендер в текстуру) - огромнейший выбор фич. Начиная от кастомизации инициализации приложения (вместо стандартного диалога выбора рендерера, расширения экрана и т. д.) и заканчивая пост-обработкой изображения и рендерингом в текстуру.
  • поддержку джойстиков искаропки - по умолчанию в OGRE используется искаробочная библиотека OIS. О ней - позже.
  • возможность многопоточного использования движка (фоновая подгрузка, исключение указанной сущности из рендера) - чтобы сбылись мечты народные - движок предоставляет различные настройки инициализации приложения, как я уже и говорил. Но должен отметить, что в этой самой инициализации приложения и происходит фактическая загрузка всех ресурсов - они парсятся на наличие ошибок и забиваются в кеш. Таким образом, добавление очередного меша составляет гораздо меньшее время. Мало того, эту самую загрузку можно кастомизировать!
  • инструменты поддержки больших открытых пространств (секторная подгрузка террайнов) - с одной из последних версий движка - искаропки!
  • модели погодных явлений (облака, дождь) - существует чудеснейший плагин - SkyX. В версии 0.4 поддерживается гром и молния плюс объемные облака (для любителей хардкора - при ненадобности но реализации могут добавить лишней работы видяхе. В нужных же случаях - они прекрасны!)
  • легковесность движка и отсутствие необходимости много работать напильником для запуска - попробуйте запустить стандартное приложение - есть масса уроков (даже видео!) - все работает искаропки. Правда, нужно помнить о путях ресурсов и, по-хорошему, ложить их рядом с бинарником да убирать из конфига лишние ресурсы.
  • наличие на булке людей, разбирающихся в данном движке - парочка есть :)
  • реальную возможность создать тикет и получить ответ - см. выше. Но должен отметить огромнейшее коммьюнити, среди которого активными участниками являются разработчики движка (в отличие от Irrlicht).

Из личных впечатлений: стоит разобраться с ООП в С++, и только тогда приступать к работе с OGRE. Просто потому, что использование будет казаться гораздо более приятным! Та же система ввода гораздо удобнее реализована, нежели в иррлихте. А свет и тени - просто милота! До сих пор восхищаюсь! Наличие разнообразнейших библиотек и плагинов - очень радует. Тот же MyGUI и SkyX, DotScene, OgreNewt/OgreBullet/OgrePhysXWrapper...

Два недостатка, которые лично с моей точки зрения являются недостатками: кастомизация инициализации приложения и свой формат ресурсов.

По первому пункту - можно сделать очень многое и очень круто, просто нужно написать кучу кода. И написать ее грамотно. Но это может дать огромные приросты в скорости загрузки приложения, избавление от (кому-то) надоевшего окна выбора параметров инициализации...

По второму пункту скажу, что это скорее даже плюс. Можно, например, ресурсы одной группы (например, персонаж и все что с ним связано) запаковать в архив и грузить из архива все (поддерживается искаропки!). Но не очень хорошо для standalone-разработчика, когда все модели-анимации-материалы приходится конвертировать в этот формат. И наилучшим образом это поддерживается в 3D Max/Blender (в мои времена, по крайней мере, было так). С другой же стороны, этот подход мотивирует использовать собственный контент.

Выводы

Irrlicht подходит для небольших демок или когда хочется/нужно что-нибудь написать, а особо заморачиваться не хочется.

OGRE настоятельно рекоммендуется в ситуациях, когда картинка решает многое - например, для продакшна.

impersonalis 31.08.2014 16:33

Ответ: Irrlicht vs OpenSceneGraph
 

moka 31.08.2014 17:42

Ответ: Irrlicht vs OpenSceneGraph
 
Читаем, и отказываемся от поседения волос: http://www.gamedev.ru/code/forum/?id=190928

p314 16.10.2014 19:33

Ответ: Irrlicht vs OpenSceneGraph
 
Для OSG есть бесплатный двиг delta3d . Программирование движка производится на языке C++ и скриптование на Python. OpenGL рендер поддерживает окружающую среду (облака, туман, скайбоксы, время суток, погодные эффекты). Рендеринг местности поддерживает бесконечные ландшафты.


Часовой пояс GMT +4, время: 09:58.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot