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