Я планирую разработать веб-сайт, на котором пользователи смогут просматривать и манипулировать трехмерными моделями зданий через браузер.
Теперь я уже реализовал локальный клиент с такими же требованиями, используя OpenSceneGraph и MFC.
Так что я путаюсь, что является лучшим способом написать как можно меньше кодов.
Вот некоторые решения, которые приходят на ум.
Использование OSG.JS — ваш лучший способ повторно использовать большинство моделей и материалов, которые вы уже создали для настольного приложения OSG.
Вам придется снова написать всю бизнес-логику и пользовательский интерфейс для вашего веб-приложения.
Есть несколько учебных пособий и примеров на веб-сайт osg.js.
Также есть плагин для конвертации ваши модели из родного формата osg в формат osgjs.
Откомандирован. OSG.js — это хороший способ сделать что-то, хотя если вам не нужно повторно использовать файлы моделей (или вы можете легко их преобразовать), то также подойдет три.
Наконец, если вам нужна местность с моделями зданий и отображением других ГИС и картографических данных, связанных со зданиями, использование Cesium.js является отличным подходом.
Так что, в принципе, «правильный путь» зависит от более подробной информации о ваших требованиях.
Если это что-то, что вы хотите заключить с субподрядчиком, мы, вероятно, могли бы сделать часть работы за вас.
Если все, что вам нужно, — это возможность иметь свои модели OSG в браузере с возможностью манипулирования, есть очень быстрый способ добиться этого — через sketchfab. Проверьте этот случайный пример о том, как это выглядит.
Вы можете загрузить свой osg
/osgt
отформатировать файлы в SketchFab, а затем все, что вам нужно сделать, это вставлять в сеть ваши модели SketchFab. Sketchfab предоставляет вам возможность настроить параметры освещения и манипулирования тем, как будет выглядеть ваша модель.
Возможно, это не решит вашу проблему, если вы планируете делать больше, чем просто просмотр моделей, но я подумал упомянуть об этом на всякий случай.
Если конечные пользователи ваших приложений используют браузер Chrome, вы можете рассмотреть возможность использования Native Client от Google.
Устаревшие настольные приложения: Native Client обеспечивает плавный переход от настольных приложений к Интернету. Вы можете портировать и перекомпилировать существующий код для механизма вычислений вашего приложения непосредственно в Native Client, и вам потребуется перестроить только части пользовательского интерфейса и обработки событий для браузера.