Приложение c / c ++, импортирующее 3d-модели из программ моделирования во время выполнения - PullRequest
0 голосов
/ 14 января 2012

Я новичок в openGL.Мне нужно создать приложение ac / c ++, которое отображает 3d модели в дополненной реальности.Для AR я использую ARToolkit.В приложении должно импортироваться 3d-модели, созданные с помощью программ для моделирования, таких как Blender, SketchUp и т. Д., Модели могут быть .obj, .3ds, .collada (предложите мне другие, если есть ??).

ARToolkit в основномиспользует opengl для рендеринга (AFAIK), 3D-объекты для ввода камеры.

  • Возможно ли динамически загружать 3d-модели / объекты при времени выполнения .Какие библиотеки существуют, если таковые имеются для этого?

Я хочу, чтобы клавиатура взаимодействовала с моделями, где я могу перемещать определенные части модели (например, вращать колеса автомобиля)

Модели здесь могут быть такими же простыми, как простой дом для персонажа (мужчина / женщина). Предложите мне ресурсы, которые мне нужны для этого, и любые технические детали, которые я пропустил.Я предпочитаю, если возможно, мой код для работы с OpenGL 1.4

Ответы [ 2 ]

0 голосов
/ 02 апреля 2014

Я очень рекомендую вам попробовать http://assimp.sourceforge.net/lib_html/ Он поддерживает множество открытых / не очень открытых форматов данных, скелетную анимацию, анимацию аффинного переноса и т. Д.

0 голосов
/ 14 января 2012

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

Самый простой наверняка - .obj, формат ASCII, который вы можете легко анализировать и который поддерживается многими приложениями. В противном случае посмотрите на библиотеки как Open Asset Import .

Однако я бы предположил, что вы ищете систему рендеринга на основе OpenGL, которая выполняет рендеринг для вас так же, как и взаимодействие с мышью. Есть много существующих движков, которые вы можете использовать там, например, Ogre3D или IrrLicht . IrrLicht прост в использовании и обеспечивает поддержку для ряда форматов , которые вы упомянули. Если для рендеринга вы должны придерживаться ARToolkit, то, вероятно, вы легко сможете конвертировать форматы из любого движка в то, что ожидает ARToolkit.

...