Предлагаемые рамки для общего демонстрационного программного обеспечения 3D - PullRequest
0 голосов
/ 20 сентября 2010

Моя компания решила, что нам нужна «общая» демонстрационная инфраструктура для наших демонстраций технологий, учитывая, что я могу написать это с помощью JOGL или OpenGL и создать свою собственную инфраструктуру, я бы не хотел изобретать велосипед.Но существует так много 3D-движков gfx и так много оболочек OpenGL!

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

По сути, я свободен в выборе области действия и парадигмы, которой он будет следовать, но я думал: - Уметь загружать 3D-модели и отображать их вполноэкранный или оконный режим.- Уметь управлять камерой (-ами), чтобы «пролететь» через получившуюся сцену.- Уметь отображать / скрывать рекламные сообщения поверх всего, например, двухмерного текста и изображений, которые зафиксированы на экране и всегда обращены к камере.- Уметь изменять простые вещи в частях сцены, например, заставлять объект появляться / исчезать, менять цвет подсветки (например, рисовать красным) и тому подобное.- При желании я хочу написать или использовать существующий язык сценариев для внедрения обработки событий и предварительно запрограммированных анимаций.

Пример использования: - Кто-то в нашей компании готовит трехмерную модель местности с некоторыми зданиями, по существу генерируяXML-подобный файл, описывающий сцену и ее объекты.- Затем он продолжает использовать мою программу, чтобы летать по местности и записывать несколько «интересующих» позиций камеры.- Затем он связывает некоторые из этих позиций с клавишами клавиатуры и / или существующими кнопками графического интерфейса.- Он добавляет несколько кусков плавающего текста.- Он представляет демо-версию с помощью моей программы, загружает файл 3D-модели и файл сценария и может начать «полетать» с аудиторией с одной из выбранных им камер на следующую, плавающий текст постепенно исчезает, когда он прибывает и покидаетположение камеры ... некоторые здания на местности выделяются красным, когда он нажимает кнопку ... и т. д.

  • У меня есть несколько OpenGL и JOGL, а также опыт XNA Game Studio.
  • Я бы лучше использовал Java, чтобы он мог быть как можно более независимым от платформы.

Что мне делать?

Ответы [ 3 ]

1 голос
/ 23 сентября 2010

Я бы рекомендовал вам взглянуть на OpenSceneGraph или Ogre.Оба кроссплатформенных (C ++), многофункциональные графические движки.Кроме того, они являются коммерчески дружественными лицензиями и являются очень зрелыми и активно обслуживаемыми двигателями.

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

В противном случае вы будете тратить 95% своего времени на написание нишевого движка, а не на развитие своих возможностей визуализации.

0 голосов
/ 25 сентября 2010

Я советую вам использовать Ardor3D или JMonkeyEngine 3. Ardor3D имеет отличную поддержку JOGL, он поддерживает формат Collada, ландшафты, карты высот, он используется NASA и в приложениях ГИС, он не является нишевым движком.Ardor3D даже работает на Android, это один из самых кроссплатформенных 3D-движков.

Я советую вам посмотреть это демо, демонстрирующее процедурную местность в Ardor3D: http://www.youtube.com/watch?v=bkXFkxrYtLY

0 голосов
/ 23 сентября 2010

Это не Java, но то, что вы описываете, звучит очень близко к Open Source Virtual Terrain Project .Возможно, вам лучше использовать это добавление дополнительных средств, которые вы разрабатываете, чем начинать с более базового уровня сцены.

...