我必须开发一个基本库存系统,我的客户希望以3D形式查看库存中的所有对象及其在仓库中的位置。问题是我必须尽快开发这个,交货时间是我的首要任务。所以我得出的结论是,我需要一个功能强大的3D图形引擎和一个可以轻松集成的UI工具包。我对C ++,Qt,OpenGL,VTK,C#和WinForms有很多经验。根据我的经验,VTK在纹理方面不是很好,而且需要更多的工作来添加客户想要的眼睛糖(如动画,视觉效果等)。我用WinForms尝试过Axiom。我经历了地狱制作样本加载和运行(框架不兼容,渲染引擎未找到,编解码器本机依赖项丢失等)。 我一直在评估不同的选择:
您认为哪种选择最佳?你能推荐一些其他的可能吗?
提前致谢!
答案 0 :(得分:2)
我花了很多时间用Mogre(围绕Ogre的C#包装器)和WinForms进行开发。在我看来,这是一个很好的组合,因为你可以在C#WinForms中比任何C ++选项更快地开发GUI。
如果您不介意在C ++ Ogre库周围使用C#包装器,我建议使用Mogre而不是Axiom。它非常稳定,有一些很好的维护者,并且很好地跟上最新版本的Ogre。 Ogre论坛上的任何代码都可以轻松移植到C#,因为大多数API都是相同的。
Axiom是Ogre的纯.NET端口,虽然它落后于几个版本,但可能有一些缺失的功能。我没有花很多时间使用它,但我相信它的主要优势在于它是所有托管代码,如果这对你很重要。
我刚开始有一个名为Glue Editor的开源项目。它不再维护,但它有很多代码可以用来让Mogre使用WinForms。您应该能够下载存储库并立即编译它。欢迎您随身携带代码并随意使用。
https://bitbucket.org/glue/glueeditor/src
如果您决定沿着Qt + Ogre路径前进,那么您可能需要查看一个名为Ogitor的项目。
https://bitbucket.org/jacmoe/ogitor/src
您可能还想查看XNA和MonoGame。 XNA是用于在C#中制作游戏的微软框架。它相当简单,但它的学习曲线比Ogre,Mogre或Axiom低得多。 MonoGame是XNA框架的开源实现,适用于非Microsoft平台(例如Android,iOS,Linux)。
答案 1 :(得分:1)
我推荐Qt + Ogre(C ++),虽然我不得不承认这是我的经验丰富的列表中唯一的组合。关于Ogre的好处是文档量和活跃的社区。这么多问题都得到了回答和记录。可以在所有库组合中创建图形本身。但是,我喜欢Ogre中对象交互的简单集成。该标准基于边界框,但也有可用于三角形交叉的代码。祝你好运!