我想将3D用于两个目的.一种是为我的应用程序以奇特的方式显示统计数据,另一种是制作简单的3D游戏.
我正在寻找的是一个最好是开源的库,所以我可以将它包含在我的C#项目中,而不使用任何dll,但如果没有其他选项,那就没什么大不了的.我出售我的应用程序,因此我需要能够将该库用于商业目的.如果我可以在Blender 3D中创建模型并轻松地将它们导入库中,那将是完美的.
您是否考虑过使用MOGRE,它是OGRE的.NET包装器?OGRE是麻省理工学院的许可证,非常适合商业用途,MOGRE似乎是LGPL许可的,因此也适用于商业用途(如果你动态链接它,你不必发布源代码).
一个快速搜索,就会找到长达插件搅拌机出口到OGRE的模型格式,所以你应该罚款那里.
您还可以使用XNA,它是Microsoft编写的用于游戏开发的托管库.然而,最近(2013年1月)似乎微软正在推动人们远离XNA进行Windows开发,并回到原生代码.
例如,在最后一个链接中,他们将XNA称为Xbox Live独立游戏和Windows Phone游戏,而DirectX则用于Windows.同样,Microsoft Create网站(如果我没记错的话)曾经拥有用于Windows XNA开发的资源,现在有2个用于Windows Phone和XBox的大块,而且没有提到Windows开发.最后,(目前)没有迹象表明XNA支持被添加到Visual Studio 2012中(但这可能是因为正在为新的Xbox开发新版本的XNA,可能即将推出).
MonoGame是XNA的开源实现(就像Mono是.NET的开源实现一样),但我不确定它的3D功能.
如果这没有帮助,那么关于这个主题还有很多其他问题和答案:
C#本身只是一种语言,它没有自己渲染的概念."在项目中包含3D"意味着库必须适应您的渲染引擎,例如,如果您有WPF项目或Windows窗体项,那就不同了.可能有库(特别是对于Windows Presentation Foundation),但为什么不使用Microsoft XNA?它在托管环境中运行,它允许您完全使用C#或任何其他CLR语言构建游戏/查看器/常规项目.