3D и UI инструментарий

Мне нужно разработать базовую систему инвентаризации, и мой клиент хочет видеть все объекты в инвентаре в 3D и их позиции на складе. Дело в том, что я должен разработать это как можно скорее, время доставки — мой приоритет. Поэтому я пришел к выводу, что мне понадобится мощный графический движок 3D и инструментарий пользовательского интерфейса, который можно легко интегрировать с ним. У меня большой опыт работы с C ++, Qt, OpenGL, VTK, C # и WinForms. По моему опыту, VTK не так хорош с текстурами, и потребовалось бы больше работы для добавления приятного глазу моего клиента (например, анимации, визуальных эффектов и т. Д.). Я попробовал Аксиому с WinForms. Я прошел через ад, делая пример загрузки и запуска (несовместимость фреймворка, механизмы рендеринга не найдены, отсутствуют собственные зависимости кодека и т. Д.).
Я оцениваю разные варианты:

  1. Qt + Ogre (C ++)
  2. WinForms + Аксиома (.NET)
  3. Qt + Irrlicht (C ++)

Как вы думаете, что будет лучшим вариантом? Не могли бы вы порекомендовать мне другую возможность?

Заранее спасибо!

2

Решение

Я потратил кучу времени на разработку с Mogre (оболочкой C # вокруг Ogre) и WinForms. На мой взгляд, это хорошая комбинация, потому что вы можете разрабатывать графический интерфейс намного быстрее в C # WinForms, чем любой из вариантов C ++.

Если вы не возражаете против использования оболочки C # вокруг библиотеки C ++ Ogre, я рекомендую использовать Mogre, а не Axiom. Он очень стабилен, имеет несколько хороших сопровождающих и довольно хорошо справляется с последней версией Ogre. Любой код на форумах Ogre можно легко перенести на C #, потому что большая часть API идентична.

Axiom является чистым .NET-портом Ogre, хотя он отстает на несколько версий и может иметь некоторые недостающие функции. Я не провел много времени с ним, но я считаю, что его главная сила в том, что это весь управляемый код, если это важно для вас.

Есть проект с открытым исходным кодом под названием Glue Editor, который я начал некоторое время назад. Он больше не поддерживается, но содержит много кода, который вы можете использовать, чтобы Mogre работал с WinForms. Вы должны быть в состоянии загрузить репозиторий и скомпилировать его из коробки. Вы можете взять код и использовать его так, как вам нравится.

https://bitbucket.org/glue/glueeditor/src

Если вы решите пойти по пути Qt + Ogre, есть проект под названием Ogitor, который вы можете попробовать.

https://bitbucket.org/jacmoe/ogitor/src

Вы также можете проверить XNA и MonoGame. XNA — это фреймворк Microsoft для создания игр на C #. Это довольно голые кости, но он имеет гораздо более низкую кривую обучения, чем Огре, Могре или Аксиома. MonoGame — это реализация платформы XNA с открытым исходным кодом, которая работает на платформах не от Microsoft (например, Android, iOS, Linux).

http://monogame.codeplex.com/

2

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

Я рекомендую Qt + Ogre (C ++), хотя должен признаться, что это единственная комбинация из вашего списка, с которой у меня большой опыт. Хорошая вещь в Ogre — это количество документации и активное сообщество. Так много вопросов ответили и задокументировали. Сама графика, вероятно, может быть создана во всех комбинациях библиотек. Тем не менее, мне нравится простая интеграция взаимодействия объектов в Ogre. Стандарт основан на ограничивающих прямоугольниках, однако для пересечения треугольников также доступен код. Удачи тебе!

1

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