我们正在开发一个基于 GIS 的应用程序,它在虚拟现实环境中模拟真实的世界对象(即管道、道路等) 。目前我们使用ESRI ArcGIS包中的ArcScene进行3D 渲染,未来我们打算将其替换为我们自己的 3D 环境。
问题: 在上述应用程序中进行实时 3D 渲染的最佳方式是什么?我在这个领域没有任何经验,我真的很困惑。我应该使用一种可用的 3D 渲染引擎(下面列出的一些)吗?如果答案是肯定的,那么应该考虑哪些参数(无论其成本如何)?有没有人在这个领域有任何经验或建议?
情况和必要性:
- 我们使用 C# .NET 环境来开发应用程序
- 有大量的 3D 对象要显示
- 3D 对象分组在不同的 CAD 文件中
- 与最终 3D 场景的交互至关重要(例如选择一个 3D 对象)
- 需要加载、卸载、打开、关闭和设置一层和/或对象的透明度。
- 具有高细节的广泛模型(超过 800 公顷区域)的高性能实时渲染(从道路到非常精细的物体,如一颗螺丝钉)
- 不需要提前着色问题(此时)
- 纹理必须适用
Rendring Engines: 经过一番搜索,我找到了以下 3D 渲染解决方案:
CadFaster|Engine:“CadFaster|Engine 是一种独特且最具可扩展性的 3D 渲染解决方案,适用于技术应用程序。它比普通 CAD 应用程序快十倍以上。该引擎包括获得专利的 3D 数据集和几何图形实时同步机制,允许自动集成到主应用程序。CadFaster|Engine 还包含获得专利的实时多边形缩减,可提高 3D 性能。引自 DevMaster
Quest3D:“使用 Quest3D 创建软件、网络和模拟器。Quest3D 是建筑可视化、产品可视化、数字娱乐、计算机辅助培训和高端 VR 应用程序的完美解决方案。” 引自 Quest3D 介绍
OpenSceneGraph:“OpenSceneGraph 是一个开源的高性能 3D 图形工具包,应用程序开发人员在视觉模拟、游戏、虚拟现实、科学可视化和建模等领域使用。完全用标准 C++ 和 OpenGL 编写......。OpenSceneGraph 是现已确立为世界领先的场景图技术,广泛应用于 vis-sim、太空、科学、油气、游戏和虚拟现实行业。主要语言:C/C++ 语言封装:C#,...。引用自 OSG 主页。