我计划开发一个网站,用户可以通过浏览器检查和操作3D建筑模型。
现在我已经使用OpenSceneGraph和MFC实现了具有相同要求的本地客户端。
所以我很困惑,这是编写尽可能少的代码的最佳方法。 以下是一些解决方案。
答案 0 :(得分:1)
使用OSG.JS是您重用已经为OSG桌面应用程序创建的大多数模型和材料的最佳选择。 您必须再次编写Web应用程序的所有业务逻辑和UI。
osg.js web site上有几个教程和示例。
从原生osg格式到osgjs格式还有plugin to convert个模型。
答案 1 :(得分:0)
借调。 OSG.js是一种很好的做事方式,虽然如果你不需要重用模型文件(或者你可以轻松转换它们),three.js也很好。
最后,如果您需要在其中构建模型的地形,并显示与建筑物相关的其他GIS和地图数据,那么使用Cesium.js是一种很好的方法。
所以,基本上,"正确的方式"取决于您的要求的更多细节。
如果这是你要转包的东西,我们可能会为你做一些工作。
答案 2 :(得分:0)
如果您只需要能够在具有操作可能性的浏览器中使用OSG模型,那么可以通过sketchfab快速实现此目的。检查this random example的外观。
您可以将osg
/ osgt
格式文件上传到sketchfab,然后您需要做的就是embed on web您的sketchfab模型。 Sketchfab为您提供了一个选项,用于设置模型查看方式的灯光和操作设置。
如果你计划做的不仅仅是浏览模型,它可能不是你的问题的解决方案,但我想提到它以防万一。
答案 3 :(得分:0)
如果您的应用程序的最终用户使用的是Chrome浏览器,那么您可以考虑使用Google的Native Client。
传统桌面应用程序:Native Client提供从桌面应用程序到Web的平滑迁移路径。您可以将应用程序的计算引擎的现有代码直接移植并重新编译到Native Client,并且只需要重建浏览器的用户界面和事件处理部分。